UnityScript 是否支持对象文字语法?



我听说UnityScript非常接近JavaScript。UnityScript 是否支持 JavaScript 的对象文字语法?

例如

var x = {
    y: 12
};

奇怪的是,在谷歌上搜索UnityScript "Object Literal"没有产生有用的结果。

UnityScript 和 JavaScript 具有非常不同的语义。

使用此语法在 Unity 中创建新的 JavaScript 文件将不会编译。

#pragma strict
var x = {
    y: 12 // error: BCE0005
};
function Start () {
   Debug.Log (x.y); // error: BCE0019
}

这将给出构建错误:

NewBehaviorScript(4,5): BCE0005: 未知标识符: 'y'.
NewBehaviorScript(8,17): BCE0019: 'y' 不是 'Boo.Lang.Hash' 的成员。

但是,您可以实现一个Hashtable

#pragma strict
var x:Hashtable = new Hashtable();
x["y"] = 12;
function Start () {
   Debug.Log (x["y"]);
}

最新更新