UnityScript是否支持Object Literal语法?

时间:2012-11-15 03:47:01

标签: monodevelop unity3d

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

e.g。

var x = {
    y: 12
};

奇怪的是,在Google上搜索UnityScript "Object Literal"会产生无效结果。

1 个答案:

答案 0 :(得分:7)

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

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

#pragma strict

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

function Start () {
   Debug.Log (x.y); // error: BCE0019
}

这会产生构建错误:

  

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"]);
}