Object.is()
2022-11-11 10:33:11
Object.is()方法判断两个值是否相等
在 ES6 以前,js 只有 === 和==来判断值的相等,二者都有缺点 ==会自动转换数据类型 ===在判断 NaN 和+0、-0 时不合逻辑
js
console.log(NaN === NaN) // false
console.log(+0 === -0) // true
1
2
2
很明显我们想要的结果应该是 NaN 是等于自身的,+0 和-0 应该是不相等的 而 ES6 引入了 Object.is(),解决了这个问题
js
console.log(Object.is(NaN, NaN)) // true
console.log(Object.is(+0, -0)) // false
1
2
2