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

Why !{}[true]; gives true in Javascript console

本文关键字:控制台 Javascript true 为什么      更新时间:2023-09-26

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

完整的!{}[true]是什么意思以及为什么它返回 true。

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

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

所以!{} true.

否定一个对象? 你究竟如何否定一个对象?

无论如何,请从 {}[true] . 这样做是创建一个新对象,并引用其true成员,该成员不存在,因此返回未定义。

那么你有 !undefined ,其计算结果为 true .