在 JavaScript 中,+0 和 -0 在数值上是相等的。也就是说,+0 === -0 的结果为 true。
但是,尽管在数值上相等,+0 和 -0 在某些情况下可能会有一些微小的差别。
- 表示正零和负零的字符串表示不同:
console.log(+"0");// 0
console.log(-"0"); // -0
- 在进行除法运算时,+0 和 -0 可能会产生不同的结果:
console.log(1 / +0); // Infinity
console.log(1 / -0); // -Infinity
尽管存在这些微小的差别,但在大多数情况下,+0 和 -0 被视为相等的。在比较相等性时,可以使用严格相等运算符(===)来检查 +0 和 -0 是否相等。 (es6新增Object.is()方法,返回了false)