前言
日常开发中,我们判断两个值是否全等,用的是
===,但是,在某些特殊的情况下,===操作符也无能为力。所以,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