在 JavaScript 中,以下代码行给出的答案为 1
+ ! {} [true]
我怎么看不懂?
任何大师的解释表示赞赏。
{}
是一个空对象。
so {}[0]
or {}[true]
or {}[1]
etc.. 是undefined
添加!
强制转换{}[0]
为 a boolean
,返回相反的结果。(undefined
成为false
,因此返回true
)。
添加+
将其转换为int
,因此true
变为1
。
我试图通过代码来解释它。
var emptyObject = {};
valueOfUndefinedKey = emptyObject['key_not_exists'],
itsNot = !valueOfUndefinedKey ,
finalConvertedNumber = +itsNot ;
console.log(
emptyObject,
valueOfUndefinedKey,
itsNot,
finalConvertedNumber
)
哪个打印
Object {}
undefined
true
1