use-isnan
isNaN()在检查时需要调用NaN(use-isnan)
"extends": "eslint:recommended"
配置文件中的属性启用此规则。
在JavaScript中,NaN
是一种特殊的Number
类型值。它用于表示由IEEE标准的二进制浮点运算指定的双精度64位格式所表示的任何“非数字”值。
由于NaN
JavaScript不同于任何东西(包括本身)在JavaScript中是独一无二的,因此比较的结果NaN
令人困惑:
NaN === NaN
或NaN == NaN
评估为假
NaN !== NaN
或NaN != NaN
评估为真
因此,使用Number.isNaN()
或全局isNaN()
函数来测试值是否是NaN
。
规则细节
这条规则不允许比较'NaN'。
此规则的错误
代码示例:
/*eslint use-isnan: "error"*/
if (foo == NaN) {
// ...
}
if (foo != NaN) {
// ...
}
此规则的正确
代码示例:
/*eslint use-isnan: "error"*/
if (isNaN(foo)) {
// ...
}
if (!isNaN(foo)) {
// ...
}
版本
这条规则是在ESLint 0.0.6中引入的。