我今天看到了这段奇怪的代码!{}[true];
。运行此代码段时,它将返回true。
完整!{}[true]
的含义以及返回true的原因。
>>>!{}[true];
'true'
答案 0 :(得分:2)
{}[true]
返回undefined
,因为{}
没有属性"true"
(!{"true":25}[true]
会返回false
)。
所以!{}
是true
。
答案 1 :(得分:0)
否定一个物体?你究竟如何否定一个物体?
无论如何,请从{}[true]
开始。这样做是创建一个新对象,并引用它不存在的true
成员,因此返回undefined。
那么你有!undefined
,其评估为true
。