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()准确的多。