为什么属性访问器不适用于对象文字

时间:2017-04-01 10:09:48

标签: javascript

当我创建一个对象时,将它分配给一个变量,然后一切正常:

var obj = {"a": 1};
obj.a; // 1

但是当我删除变量时,它不再起作用了:

{"a": 1}.a // Uncaught SyntaxError: Unexpected token :

如果我将对象文字括在括号中,它会再次起作用:

({"a": 1}).a // 1

我认为区别在于对象文字被解释为一个块,而解释器试图执行"a": 1部分,这显然是错误的。添加括号会强制创建对象。

我是否在正确的轨道上?有什么东西被认为是块与对象有什么规则?

0 个答案:

没有答案