JS之 Object.is()

226 阅读1分钟

前言

日常开发中,我们判断两个值是否全等,用的是===,但是,在某些特殊的情况下,===操作符也无能为力。所以,ES6为改善===带来的局限性,新增了一个新的APIObject.is(),该方法可以解决===的局限性。

Object.is()

作用:Object.is()方法用于判断两个值是否为同一个值

语法:Object.is(val1, val2)

  • 参数:val1:被比较的第一个值,val2被比较的第二个值

  • 返回值:Object.is()返回一个Boolean类型表示两个参数是否是同一个值


Object.is()===运算符表现不同的具体例子

  • ===运算符
console.log(+0 === -0) // true
console.log(+0 === 0) // true
console.log(-0 === 0) // true

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

console.log(Object.is(NaN, NaN) // true