📅  最后修改于: 2023-12-03 15:40:35.681000             🧑  作者: Mango
在 JavaScript 中,比较相等数字是一个常见任务。在这个介绍中,我们将探讨不同的方法来检查它们是否相等。
==
操作符JavaScript 中的 ==
操作符用于比较两个值是否相等。这个操作符比较两个值的类型和值。
console.log(1 == 1); // true
console.log(1 == "1"); // true
console.log(1 == true); // true
console.log(1 == false); // false
console.log(undefined == null); // true
但是,这种比较方式可能会导致一些意外的结果。例如,以下代码会输出 true
:
console.log(0 == ''); // true
这是因为 JavaScript 把空字符串 ''
和数字 0
视为相等的。
因此,不建议使用 ==
操作符比较相等数字。
===
操作符为了解决 ==
操作符的问题,可以使用 ===
操作符。这个操作符比较两个值的类型和值,但不会进行类型转换。
console.log(1 === 1); // true
console.log(1 === "1"); // false
console.log(1 === true); // false
console.log(undefined === null); // false
使用 ===
操作符来比较相等数字是更可靠的方法。
Object.is()
在 ES6 中,JavaScript 提供了 Object.is()
方法来比较两个值是否相等。这个方法与 ===
操作符类似,但对于特殊值 NaN
和 -0
有不同的行为。
console.log(Object.is(2, 2)); // true
console.log(Object.is(2, "2")); // false
console.log(Object.is(NaN, NaN)); // true
console.log(Object.is(0, -0)); // false
比较相等数字时,建议使用 ===
操作符或 Object.is()
方法。避免使用 ==
操作符,以避免意外的行为。