NaN 在 JavaScript 代表的是 不是数字
。理论上,任何非数字的类型都是 NaN
,判断一个类型是不是 NaN,可以使用 JS 内置的一个方法 isNaN()
。
isNaN(NaN) // true
isNaN('a') // true
isNaN(1) // false | 数字就是 NaN
NaN 虽然代表的是 不是数字
,但它的类型确是 number,这确实比较怪异,但是这种怪异在 JavaScript 的类型中十分常见。
typeof NaN // 使用 typeof 获取 NaN 的类型返回 “number"”
当类型转换失败的时候。
Number('a') // NaN
判断 NaN 请务必使用 isNaN
方法,因为 NaN != NaN
返回 true
。