JavaScript は変数 val の値が NaN であるかどうかをどのようにして迅速に判断するのでしょうか? NaN を除いて、他のすべての変数がそれ自体と等しい場合は、val===val
を直接判断するだけですか?
怪我咯2017-07-05 10:52:13
NaN は JavaScript の唯一の非再帰値です。これは
リーリーこの本では以下について言及しています:
NaN は、別の NaN 値と決して等しくない (つまり、それ自体と等しくない) という点で、非常に特別な値です。実際、再帰的ではない (恒等特性 x === x を持たない) 唯一の値です。つまり、NaN !== NaN です
あなたの知らないJavaScript
女神的闺蜜爱上我2017-07-05 10:52:13
はい、NaN は isNaN または自分自身と等しいかどうかを使用して判断できます
同時に、逆に、2つの変数が等しいかどうかを判断するために、2つの変数が等しい場合、+0と-0の特殊な場合があり、その逆数を使用して等しいかどうかを判断します。
曾经蜡笔没有小新2017-07-05 10:52:13
ES6 Number
对象上,新提供了Number.isNaN()
方法,建议直接使用Number.isNaN()
来检查一个值是否为NaN
。
另外除开 +0
和 -0
的情况,===
是满足需求的,更好一点的方式使用Object.is()