在JavaScript中,为什么isNaN(value)与value == NaN不同?

Fio*_*ite 0 javascript nan

就像它在问题中所说的那样,我尝试过value == NaN并且它是错误的,然后记住我应该使用它isNaN(value)来进行检查。

为什么会有所不同?

luk*_*nis 5

both NaN == NaN and NaN === NaN evaluate to false来自MDN

NaN是一个特殊的值,例如,您可以将其视为InfinityInfinity不等于另一个,Infinity因为它没有定义的值