[英]Why can't I directly access a property of an object literal?
为什么以下语法
{a:1,b:2}.constructor
是无效的,而
[1,2].constructor
已验证?
{a:1,b:2}.constructor
语法不是无效,但它不明确,因为{}
表示一个块或一个对象? 因此,您必须使用括号消除歧义,例如({a:1,b:2}).constructor
。 现在JavaScript知道你打算使用一个对象。
如果您在明确是对象的上下文中使用该语法,则没有歧义:
console.log({a:1,b:2}.constructor) // works fine
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.