Skip to content
On this page

双等

隐式转换

  1. [ ] == false 结果为 true。根据 JavaScript 的类型转换规则,空数组 [] 在进行比较时会被转换为一个空字符串 "",而布尔值 false 会被转换为数字 0。因此,比较的实际表达式为 "" == 0,而空字符串 "" 在被转换为数字时会变为 0,所以最终结果为 true
  2. [ ] == 0 结果为 true。根据 JavaScript 的类型转换规则,空数组 [] 在进行比较时会被转换为一个空字符串 "",而数字 0 不需要进行类型转换。因此,比较的实际表达式为 "" == 0,而空字符串 "" 在被转换为数字时会变为 0,所以最终结果为 true
  3. ![ ] == false 结果为 true。一元逻辑非运算符 ! 会将操作数转换为布尔值,并取其相反值。在 JavaScript 中,空数组 [] 被视为真值,所以 ![ ] 的结果为 false。而布尔值 false 不需要进行类型转换。因此,比较的实际表达式为 false == false,所以最终结果为 true
  4. null == 0 结果为 false。在 JavaScript 中,null 与除了 undefined 之外的任何值进行相等比较时都会返回 false。因此,null == 0 的结果为 false
  5. Number('abc') == Number('aaa') 结果为 false
  6. '[object Object]' == {},当将对象转换为字符串时,会调用对象的 toString() 方法。对于空对象 {}toString() 方法返回的是 "[object Object]"

粤ICP备2024285819号