require calls to isNaN()
when checking for NaN
(use-isnan)
要求调用 isNaN()
检查 NaN
(use-isnan)
The "extends": "eslint:recommended"
property in a configuration file enables this rule.
配置文件中的 "extends": "eslint:recommended"
属性启用了此规则。
In JavaScript, NaN
is a special value of the Number
type. It’s used to represent any of the “not-a-number” values represented by the double-precision 64-bit format as specified by the IEEE Standard for Binary Floating-Point Arithmetic.
在 JavaScript 中,NaN
是 Number
类型的一个特殊值。它被用来表示非数值,这里的数值是指在 IEEE 浮点数算术标准中定义的双精度64位格式的值。
Because NaN
is unique in JavaScript by not being equal to anything, including itself, the results of comparisons to NaN
are confusing:
因为在 JavaScript 中 NaN
独特之处在于它不等于任何值,包括它本身,与 NaN
进行比较的结果是令人困惑:
NaN === NaN
orNaN == NaN
evaluate to falseNaN !== NaN
orNaN != NaN
evaluate to true
Therefore, use Number.isNaN()
or global isNaN()
functions to test whether a value is NaN
.
因此,使用 Number.isNaN()
或 全局的 isNaN()
函数来测试一个值是否是 NaN
。
Rule Details
This rule disallows comparisons to ‘NaN’.
该规则禁止与 ‘NaN’ 的比较。
Examples of incorrect code for this rule:
错误 代码示例:
/*eslint use-isnan: "error"*/
if (foo == NaN) {
// ...
}
if (foo != NaN) {
// ...
}
Examples of correct code for this rule:
正确 代码示例:
/*eslint use-isnan: "error"*/
if (isNaN(foo)) {
// ...
}
if (!isNaN(foo)) {
// ...
}
Version
This rule was introduced in ESLint 0.0.6.
该规则在 ESLint 0.0.6 中被引入。