{}[true]什么意思,为什么返回的是[true]

!{}[true]什么意思,为什么返回的是true

momoyy123
浏览 1973回答 1
1回答

qq_青枣工作室_0

{}是一个对象,{}[true]就是获取{}对象里的名字叫true的属性。由于{}是一个空对象,里面没有一个叫true的属性,所以{}[true]返回undefined,而!{}[true]就相当于!undefined,即返回的是true。{}[true],在console控制台里返回[true],是因为单纯写个{}语法上无法判断为一个表达式,也可能表示一代码段,函数就是用{}括起来的嘛。那语法上把{}解析为代码段,后面的[true]就是一个数组了,所以输出[true]。那在前面加个叹号表示取反操作符,!{}[true]就是明确的一个表达式。而这个表达式的值就是true。或者 var a = {}[true]; 赋值操作符=的右边也是一个明确的表达式。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript