在javascript对象属性的末尾划线

时间:2013-04-04 15:17:31

标签: javascript properties hyphen

我可以像这样在javascript对象属性名称的末尾使用破折号。我在任何文档中都找不到这是无效的,但在这种情况下尝试访问值myProp时我得到了一些奇怪的结果。

var myObject = {"myProp-":"myValue"};

我只能像myObject [“myProp-”]那样访问这个值,我想访问

myObject.myProp-

但我收到了“SyntaxError:Unexpected token}”

2 个答案:

答案 0 :(得分:4)

您必须使用括号表示法而不是点符号:

myObject["myProp-"]

答案 1 :(得分:0)

var myObject = {"myProp-":"myValue", "foo": "bar" };

myObject.foo;
myObject["foo"]; // these are equivalent

myObject.myProp-; // syntax error
myObject["myProp-"]; // this is fine

var key = "myProp-";
myObject[key]; // this works as well (dynamic index)
myObject.key; // undefined

括号表示法是点符号相同。