Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我今天看到了这段奇怪的代码!{}[true];。当您运行此代码片段时,它会返回 true。
!{}[true];
full 是什么!{}[true]意思以及为什么它返回 true。
!{}[true]
>>>!{}[true]; 'true'
{}[true]返回undefined,因为{}没有属性"true"(!{"true":25}[true]将返回false)。
{}[true]
undefined
{}
"true"
!{"true":25}[true]
false
!{}也是如此true。
!{}
true
否定一个对象?你究竟如何否定一个对象?
无论如何,从{}[true]. 这样做是创建一个新对象,并引用其true不存在的成员,因此返回未定义。
那么你有!undefined,它的计算结果是true。
!undefined