隐式转换


  1. console.log(+[]); // 0

    • [] 是一个空数组, +[] 将空数组转换为数字。空数组转换为数字时,结果为 0。
  2. console.log(![]); // false

    • ![] 是对空数组的逻辑非操作。空数组被视为一个真值,因此逻辑非操作将其转换为 false
  3. console.log(!+[]); // true

    • +[] 将空数组转换为数字 0。然后 !+[] 对数字 0 进行逻辑非操作,将其转换为 true
  4. console.log([] + '9'); // 9

    • [] + '9' 将空数组转换为字符串,然后将字符串 ‘9’ 与空数组的字符串表示连接起来,结果为 ‘9’。
console.log(+[]); // 0
console.log(![]); // false
console.log(!+[]); // true
console.log([] + '9'); // 9;