学习ES6看到了,熟悉的==和===,但是经常忘记两者之间的区别,特此记录。
(1)==
相等运算符 、会自动转换数据类型。总结==要求值相等
(2)===
严格相等运算符、不会自动转换数据类型只要数据类型不同则返回false。总结===要求值和类型都相等。
(3)Object.is()
用来比较值是否严格相等,基本与===行为一直。
Object.is 与=== 不同点:
+0 === -0 //true
NaN === NaN // false
Object.is(+0, -0) // false
Object.is(NaN, NaN) // true