use-isnan
Recommended
Disallows comparisons to NaN.
Disallows comparisons to NaN.
Because NaN is unique in JavaScript by not being equal to anything, including
itself, the results of comparisons to NaN are confusing:
NaN === NaNorNaN == NaNevaluate tofalseNaN !== NaNorNaN != NaNevaluate totrue
Therefore, this rule makes you use the isNaN() or Number.isNaN() to judge
the value is NaN or not.
Invalid:
if (foo == NaN) {
// ...
}
if (foo != NaN) {
// ...
}
switch (NaN) {
case foo:
// ...
}
switch (foo) {
case NaN:
// ...
}
Valid:
if (isNaN(foo)) {
// ...
}
if (!isNaN(foo)) {
// ...
}