Object.is()
是在ES6中定义的一个新方法,它与‘===
’相比,特别针对-0
、+0
、NaN
做了处理。Object.is(-0, +0)
会返回false
,而Object.is(NaN, NaN)
会返回true
。这与===
的判断恰好相反,也更加符合我们的预期。
Object.is(+0, -0) // false
Object.is(NaN, NaN) // true
Object.is(NaN, 0/0) // true
+0 === -0 // true
NaN === NaN // false
复制代码