减去本身的数字应该是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/