为什么Infinity-Infinity NaN?

man*_*ver -1 javascript

我坚持下面提到的这种特殊情况.有人可以向我解释下列行为的原因是什么.

Infinity - Infinity结果为何NaN, but NaN === (Infinity-Infinity)结果false如何?

aks*_*pal 6

答案在于NaN完整形式.
NaN代表Not a Number.
因此,如果某些东西不是数字,则无法进行比较或检查是否相等.

以数学方式,

Infinity - Infinity = NaN   (1)

NaN == Infinity - Infinity  (2)
Run Code Online (Sandbox Code Playgroud)

这里(1)NaN保持一个值,表示结果不可量化.

在(2)中,您正在检查2个不可量化的实体的相等性.

希望有道理.

PS我知道可以比较字符串值,但NaN不是这种情况.