UnityScript是否支持Object Literal语法?

Tho*_* II 4 monodevelop unity-game-engine

我听说UnityScript非常接近JavaScript.UnityScript是否支持JavaScript的Object Literal语法?

例如

var x = {
    y: 12
};
Run Code Online (Sandbox Code Playgroud)

奇怪的是,搜索谷歌UnityScript "Object Literal"产量没有有用的结果.

Jas*_*ges 7

UnityScript与JavaScript具有非常不同的语义.

使用此语法在Unity中创建新的JavaScript文件将无法编译.

#pragma strict

var x = {
    y: 12 // error: BCE0005
};

function Start () {
   Debug.Log (x.y); // error: BCE0019
}
Run Code Online (Sandbox Code Playgroud)

这将导致构建错误:

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

但是,您可以实现Hashtable:

#pragma strict

var x:Hashtable = new Hashtable();
x["y"] = 12;

function Start () {
   Debug.Log (x["y"]);
}
Run Code Online (Sandbox Code Playgroud)