首先,我要提一提,我知道如何isNaN()
和Number.isNaN()
工作。我正在阅读David Flanagan的《明确指南》,他举了一个示例说明如何检查该值是否为NaN
:
x !== x
这将在true
且仅当x
为时产生NaN
。
但是现在我有一个问题:他为什么要使用严格的比较?因为似乎
x != x
行为相同。是否可以安全使用的两个版本,或我很想念在JavaScript中的一些值(S),将返回true
的x !== x
和false
为x != x
?
NaN
不是唯一类型,而是一个数字。这是一个不等于其自身的唯一值。
===
与NaN 进行比较,以指出NaN不等于自身。他没有“错”,而是将其作为教学练习来进行,表明它不起作用。
!==
支票而不是!=
支票。据我所知,where没有其他价值x != x
。但也有JavaScript开发两个不同的群体:那些谁喜欢!=
和那些喜欢谁!==
,无论是速度,清晰度,表现力等