Require isNaN() (use-isnan)
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. NaN
has the unique property of not being equal to anything, including itself. That is to say, that the condition NaN !== NaN
evaluates to true.
Rule Details
This rule is aimed at eliminating potential errors as the result of comparing against the special value NaN
.
The following patterns are considered warnings:
if (foo == NaN) {
// ...
}
if (foo != NaN) {
// ...
}
The following patterns are not warnings:
if (isNaN(foo)) {
// ...
}
if (isNaN(NaN)) {
// ...
}
Further reading
Version
This rule was introduced in ESLint 0.0.6.