减去本身的数字应该是0,对吗?

3 - 3 === 0

那么为什么
Infinity - Infinity === NaN

因为typeof Infinity'number':

最佳答案

众所周知,两个数字之间的差可以这样计算

a - b = a + (-b)

JavaScript使用它来查找两个值之间的差异。引用Applying the Additive Operators to Numbers section from ECMA 5.1 Specification



所以,当你这样做
Infinity - Infinity

它被评估为
Infinity + (-Infinity)

在JavaScript中,它们都是不同的对象。引用The Number Type section of ECMA 5.1 Specification



再次引用Applying the Additive Operators to Numbers section from ECMA 5.1 Specification



这就是为什么结果是NaN的原因。

关于javascript - 无限-无限= NaN?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27074158/

10-12 07:08