我想知道为什么在JavaScript数组中将逗号放在单个元素的末尾是合法的:
var array = [
'foo', // no error in IDE
]
而将其放在对象中单个元素的末尾是非法的(至少我的IDE-WebStorm-正在标记错误):
var object = {
'foo': 'bar', // error in IDE
}
这真的在JavaScript中是非法的吗?
最佳答案
在ECMAScript 5规范中,这是合法的:
ObjectLiteral : { } { PropertyNameAndValueList } { PropertyNameAndValueList , }
It was illegal in ECMAScript 3.
ObjectLiteral : { } { PropertyNameAndValueList }
I believe it was made legal to make things like this doable.
function getItems() {
return {
one : 1,
two : 2,
three : 3,
//four : 4,
};
}
代替这个:
function getItems() {
return {
one : 1,
two : 2,
three : 3//,
//four : 4,
};
}
节省一些程序员的时间。
关于javascript - javascript对象中单个元素末尾的“,”是否非法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4116268/