myfreax

JavaScript Object.is 方法

在本教程中,您将了解用于检查两个值是否相同的 JavaScript Object.is方法

JavaScript Object.is 方法
JavaScript Object.is 方法

在本教程中,您将了解用于检查两个值是否相同的 JavaScript Object.is 方法。Object.is() 的行为类似于 === 运算符,但有两个区别:

  • -0 和 +0
  • NaN

负零 -0

=== 运算符将 -0+0 视为相同的值:

let amount = +0,
    volume = -0;
console.log(volume === amount);

输出:

true

但是,Object.is() 将 +0 和 -0 视为不同的值。例如:

let amount = +0,
    volume = -0;
console.log(Object.is(amount, volume));

输出:

false

NaN

=== 运算符认为 NaN 和 NaN 是不同的值。 NaN 是唯一不等于自身的数字。 例如:

let quantity = NaN;
console.log(quantity === quantity);

输出:

false


但是,Object.is()NaNNaN 视为相同的值:

let quantity = NaN;

console.log(Object.is(quantity, quantity));


输出:

true

更多示例,请参考以下相等性对照表:

相同性对照表

内容导航