var a = 0;
var b = -a;
当我将以下代码发布到控制台时,我得到true
:
console.log(a === b); // true
但是当我用它做一些计算时,我得到了false
:
console.log(1/a === 1/b); // false
为什么会这样?
答案 0 :(得分:7)
这是因为Infinity == -Infinity
是假的,根据抽象的相等比较算法。
1/0
会同时Infinity
收益1/-0
-Infinity
。所以两者并不相等,因此返回false
。