我知道(-0 === 0)的结果是true。但我很好奇为什么会出现-0 < 0的情况?
When I run this code in stackoverflow execution context, it returns 0
.
const arr = [+0, 0, -0];
console.log(Math.min(...arr));
-0
。为什么会这样?我已经尝试在谷歌上搜索了,但没有找到有用的东西。这个问题可能对某些实际例子没有价值,但我想了解JS是如何计算它的。 const arr = [+0, 0, -0];
console.log(Math.min(...arr)); // -0
Math.min(0, -0)
和Math.min(-0, 0)
都返回-0
,所以Math.min
可以区分它们。 - Jonas Wilmsarr
,在SO的控制台中会显示为[0, 0, 0]
,而在本地浏览器控制台中则会显示为[0, 0, -0]
。 - CBroeObject.is(-0, +0);
->false
,而1/0 === Infinity
->true
,但是1/-0 === -Infinity
->true
。 - pilchard