当尝试访问该属性时a
物体的{}
{}.a
我收到错误
SyntaxError: Unexpected token .
有了括号一切都很好:
({}).a
为什么我首先会收到错误?有歧义吗?
花括号被解释为块语句 http://es5.github.com/x12.html#x12.1,而不是作为对象文字。表达式语句不能以左花括号开始。
规范指出:
NOTE An 表达式语句不能以左花括号开头
因为这可能会使它与 a 产生歧义Block。另外,一个表达式语句不能从function
关键字因为
这可能会使其与 a 产生歧义函数声明.
Source: http://es5.github.com/x12.html#x12.4 http://es5.github.com/x12.html#x12.4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)