(NaN != NaN)和(NaN !== NaN)之间有什么区别?
首先,我想提到我知道isNaN()
和Number.isNaN()
的工作原理。我正在阅读David Flanagan的《JavaScript权威指南》,他给出了一个检查值是否为NaN
的例子:
x !== x
只有当x
是NaN
时,这将结果为true
。
但现在我有一个问题:为什么他使用严格比较?因为似乎
x != x
的行为是相同的。使用这两个版本都安全吗?还是我在JavaScript中遗漏了一些会使x !== x
返回true
且x != x
返回false
的值?