mac*_*ict 12 javascript object
假设我有以下对象:
var VariableName = {
firstProperty: 1,
secondProperty: 2
}
Run Code Online (Sandbox Code Playgroud)
我是否必须将对象属性包装在这样的引号中?
var VariableName = {
'firstProperty': 1,
'secondProperty': 2
}
Run Code Online (Sandbox Code Playgroud)
这是JavaScript对象文字中的单引号是正确的答案吗?
jAn*_*ndy 28
不,你不需要这样做.
引用对象键的唯一原因是
所以举个例子
var VariableName = {
"some-prop": 42, // needs quotation because of `-`
"class": 'foobar' // doesn't syntatically require quotes, but it will fail on some IEs
valid: 'yay' // no quotes required
};
Run Code Online (Sandbox Code Playgroud)
如果属性名称是保留字(例如for,in,function等),则只需在属性周围使用引号。这样,您可以防止Javascript尝试将关键字解释为语言的一部分,并且很可能会收到语法错误。此外,如果要在属性名称中使用空格,则还必须使用引号。如果属性名称只是普通名称,没有潜在的共谋或空格,则可以使用您喜欢的语法。
另一种可能需要用引号引起来的可能性是使用Java缩小符(如Google Closure编译器),因为它倾向于替换所有属性名称。但是,如果将属性名称用引号引起来,闭包编译器将在编码时保留该属性。在库中导出对象或使用参数对象时,这具有一些相关性。