隐式转换
-
console.log(+[]); // 0
[]
是一个空数组,+[]
将空数组转换为数字。空数组转换为数字时,结果为 0。
-
console.log(![]); // false
![]
是对空数组的逻辑非操作。空数组被视为一个真值,因此逻辑非操作将其转换为false
。
-
console.log(!+[]); // true
+[]
将空数组转换为数字 0。然后!+[]
对数字 0 进行逻辑非操作,将其转换为true
。
-
console.log([] + '9'); // 9
[] + '9'
将空数组转换为字符串,然后将字符串 ‘9’ 与空数组的字符串表示连接起来,结果为 ‘9’。
console.log(+[]); // 0
console.log(![]); // false
console.log(!+[]); // true
console.log([] + '9'); // 9;