NaN是什么?typeof的结果是什么?如何判断一个变量的值是NaN?

NaN 是 'not a number' 的缩写,表示 "不是一个数字"

通常会在一个数字和其他类型运算过程中产生:

console.log('abc' / 4);

console.log(4 * 'a');

虽然它 "不是一个数字",但是 NaN 的 typeof 结果却是 number

console.log(typeof (4 * 'a')); // number

NaN 和任何变量都不相等,包括 NaN 自己:

console.log(NaN === NaN); // false

判断一个变量是不是 NaN 可以用 isNaN()函数

但是这并不是一个完美的函数,有些时候用value !== value似乎更准确,幸运的是,ES6 已经有Number.isNaN()方法,将比 isNaN()准确的多。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容