NaN 属性用于引用特殊的非数字值,在大多数场景中我们使用isNaN
即可判断变量是否为NaN。
console.log(Number.isNaN('1')); // false
console.log(Number.isNaN('a')); // true
console.log(Number.isNaN(NaN)); // true
但是字母在isNaN
方法中返回也是true
,这样就导致无法区分NaN和字母的场景:
这个场景我们可以使用es6中的Number.isNaN
来判断,返回结果分别如下:
console.log(Number.isNaN('a')); // false
console.log(Number.isNaN(NaN)); // true