摘要: 在本教程中,您将学习有关 JavaScript Object.is() 方法的知识,以检查两个值是否相同。
Object.is() 的行为类似于 === 运算符,但有以下两个区别:
- -0 和 +0
- NaN
负零
=== 运算符将 -0 和 +0 视为相同的值。
let amount = +0,
volume = -0;
console.log(volume === amount);Code language: JavaScript (javascript)输出
trueCode language: JavaScript (javascript)然而,Object.is() 将 +0 和 -0 视为不同的值。例如
let amount = +0,
volume = -0;
console.log(Object.is(amount, volume));Code language: JavaScript (javascript)输出
falseCode language: JavaScript (javascript)NaN
=== 运算符认为 NaN 和 NaN 是不同的值。NaN 是唯一不等于自身的数字。例如
let quantity = NaN;
console.log(quantity === quantity);Code language: JavaScript (javascript)输出
false
然而,Object.is() 将 NaN 视为相同的值。
let quantity = NaN;
console.log(Object.is(quantity, quantity));
输出
true
请参阅以下相同性比较表以供参考

本教程对您有帮助吗?