双等号(
==)是用来验证两个值是否相等的。在两边值类型不同会隐式类型转换为相同类型,然后再做比较。转换规则如下: 注意: 等号两边存在表达式(如:对值的取反!xxx也是表达式),会先执行表达式,把等号两边都变成数值后才进行隐式类型转换。
对象 == 字符串:会把对象隐式转换成字符串;null == undefined->true,除了这种情况null/undefined和其他任何值都不会相等;NaN == NaN->false;Symbol() == Symbol()-> false;- 除了上面的情况,不同类型间对比的时候都要先转换成数字,再进行比较。