function isNegZero(n) {
n = Number( n );
return (n === 0) && (1 / n === -Infinity);
}
我正在阅读
You don't know JS
这本书,并在那里找到了这段代码。该功能可检查通过次数是否为-0。我无法理解为什么提到比较中的第一个条件,因为它总是正确的(除非我理解错误)。请帮忙。 最佳答案
零总是正确的。您不仅希望isNegZero(n)
对于+0
为false,而且对于任何非零的数字也为false。
> let n = -Number.MIN_VALUE
> n === 0
false
> 1 / n === -Infinity
true