今天用一些例子来解释JS中隐式转换的一些规则
字符串与数字
字符加数字 字符串拼接
"32"+32 // "3232"字符减数字
"32"-31 // 1
技巧:1、字符串 - 0 将字符串变为数字
2、数字 + "" 将数字变为字符串
number == string // 将string转换为number再进行判等操作
12 == "12"
boolean == ? // 将boolean转换为number(0或1)再进行判等操作
true == 1
false == 0
object == number | string // 尝试将object对象转换为基本类型
null == undefined
new Object() == new Object()[1,2] == [1,2]
全等 ===
先判断两边类型,类型不同返回false
new Object() ≠ new Object() //对象的比较是引用的比较
[1,2] ≠ [1,2];
null === null
undefined === undefined
null ≠ undefined
NaN ≠ NaN // NaN不等于任何值,包括它自身