为什么0 === -0为真,但是1/0 === 1 / -0为假?

时间:2016-03-20 14:09:17

标签: javascript

var a = 0;
var b = -a;

当我将以下代码发布到控制台时,我得到true

console.log(a === b); // true

但是当我用它做一些计算时,我得到了false

console.log(1/a === 1/b); // false

为什么会这样?

1 个答案:

答案 0 :(得分:7)

这是因为Infinity == -Infinity是假的,根据抽象的相等比较算法。

1/0会同时Infinity收益1/-0 -Infinity。所以两者并不相等,因此返回false