What rule do you want to change?
use-isnan
Does this change cause the rule to produce more or fewer warnings?
More.
How will the change be implemented? (New option, new default behavior, etc.)?
Perhaps as a default behaviour, as NaN and Number.NaN are equivalent.
Please provide some example code that this change will affect:
x === NaN;
x === Number.NaN;
What does the rule currently do for this code?
Only the first line is reported as a NaN comparison. Second line does not report.
What will the rule do after it's changed?
Both lines will report as NaN comparisons. (Maybe recommending Number.isNaN instead of isNaN but that is aside)
Are you willing to submit a pull request to implement this change?
I would prefer if someone else send a PR.
At lib/rules/use-isnan.js:24:
- return Boolean(node) && node.type === "Identifier" && node.name === "NaN";
+ return Boolean(node) && (node.type === "Identifier" && node.name === "NaN" ||
+ node.type === "MemberExpression" &&
+ node.object.type === "Identifier" && node.object.name === "Number" &&
+ node.property.type === "Identifier" && node.property.name === "NaN");
What rule do you want to change?
use-isnanDoes this change cause the rule to produce more or fewer warnings?
More.
How will the change be implemented? (New option, new default behavior, etc.)?
Perhaps as a default behaviour, as
NaNandNumber.NaNare equivalent.Please provide some example code that this change will affect:
What does the rule currently do for this code?
Only the first line is reported as a NaN comparison. Second line does not report.
What will the rule do after it's changed?
Both lines will report as NaN comparisons. (Maybe recommending
Number.isNaNinstead ofisNaNbut that is aside)Are you willing to submit a pull request to implement this change?
I would prefer if someone else send a PR.
At
lib/rules/use-isnan.js:24: