特点:
- 可以比较各种类型的值
- 返回布尔值
非相等运算符
与原始类型值对比(数值、字符串、布尔值、null、undefined)
- 字符串:按照字典顺序(实际上是Unicode码点)比较
- 其余原始类型值:先转为数值再比较
与对象对比:对象会先转为原始类型的值,再比较
与NaN对比:返回false
相等运算符
=== 严格相等运算符: 判断值是否相等,判断类型是否相同(对于复合类型,判断是否引用了同一个内存地址)
!== 严格不相等运算符:先计算严格相等运算符的结果,返回相反值
严格相等运算符和非严格相等运算符:一般常用严格相等运算符
undefined === undefined // true: undefined与自身严格相等
null === null // true: null与自身严格相等
=0 === -0 // true
NaN === NaN //返回false,NaN与任何值都不相等
== 非严格相等运算符:先转换为数值/原始类型值,再判断值是否相等
' \n 123 \t' == 123 //会返回true,因为字符串转换为数值时,会忽略前后的空格
undefined == undefined //true:undefined和自身比较返回true
null == null //true: null和自身比较返回true
undefined == null //true: undefined和null比较返回true