Skip to content

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

很明显我们想要的结果应该是 NaN 是等于自身的,+0 和-0 应该是不相等的 而 ES6 引入了 Object.is(),解决了这个问题

js
console.log(Object.is(NaN, NaN)) // true
console.log(Object.is(+0, -0)) // false

Released under the MIT License.