在Javascript中:
NaN === NaN; // false
我正在尝试确定
isNaN(foo)
何时不仅等同于+foo
“是”NaN
。但我不知道如何判断某个东西是否为NaN
,除非使用isNaN
,它对许多东西都是肯定的,其中没有一个=== NaN
。因此,我认为正确的方法应该是解决其他可能性:
typeof NaN === 'number' // true
因此,我认为
typeof(foo) === 'number' && isNaN(foo)
这个描述是最贴近我想法的。因为NaN
是唯一不是数字的数字,所以这个解释是有意义的。这个解释正确吗?这是最好的方式吗?