为什么!{} [true];在Javascript控制台中给出true

时间:2013-10-31 14:39:34

标签: javascript

我今天看到了这段奇怪的代码!{}[true];。运行此代码段时,它将返回true。

完整!{}[true]的含义以及返回true的原因。

>>>!{}[true];
'true'

2 个答案:

答案 0 :(得分:2)

{}[true]返回undefined,因为{}没有属性"true"!{"true":25}[true]会返回false)。

所以!{}true

答案 1 :(得分:0)

否定一个物体?你究竟如何否定一个物体?

无论如何,请从{}[true]开始。这样做是创建一个新对象,并引用它不存在的true成员,因此返回undefined。

那么你有!undefined,其评估为true