很多小伙伴再判断两个值是否相等都喜欢用===,ES6中新增了一个Object.is(val1,val2)方法是否还记得?
对于Object.is来说,其运行结果在大部分情况中与===运算符相同,唯一的区别在于+0和-0被识别为不相等并且NaN与NaN等价。
举个例子来说吧:
+0 === -0 //true NaN === NaN // false Object.is(+0, -0) // false Object.is(NaN, NaN) // true
以后再写代码的时候用上Object.is是不是显得很高大上。