在 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