摘要: 在本教程中,您将学习有关 JavaScript Object.is()
方法的知识,以检查两个值是否相同。
Object.is()
的行为类似于 ===
运算符,但有以下两个区别:
- -0 和 +0
- NaN
负零
===
运算符将 -0
和 +0
视为相同的值。
let amount = +0,
volume = -0;
console.log(volume === amount);
Code language: JavaScript (javascript)
输出
true
Code language: JavaScript (javascript)
然而,Object.is()
将 +0 和 -0 视为不同的值。例如
let amount = +0,
volume = -0;
console.log(Object.is(amount, volume));
Code language: JavaScript (javascript)
输出
false
Code 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
请参阅以下相同性比较表以供参考
本教程对您有帮助吗?