在以下代码中:
var notNum = 'dfsd'
Number(notNum) === NaN
最后一个表达式的计算结果为false。你知道为什么吗?在比较中没有办法使用NaN吗?
typeof(Number(notNum)) === 'number'
以某种方式评估为真。我真的不明白NaN是如何运作的。
答案 0 :(得分:1)
当某些数学运算失败时,NaN(Not-a-Number)是JS中的全局对象。
您无法直接将对象与其他对象进行比较。 您必须使用您正在使用的typeof,或者您可以使用Object.is()
Object.is(Number(notNum),NaN)// true