useNumberNamespace (since v1.5.0)
Diagnostic Category: lint/nursery/useNumberNamespace
Source: prefer-number-properties
Use the Number
properties instead of global ones.
ES2015 moved some globals into the Number
properties for consistency.
The rule doesn’t report the globals isFinite
and isNan
because they have a slightly different behabior to their corresponding Number
’s properties Number.isFinite
and Number.isNan
.
You can use the dedicated rules noGlobalIsFinite and noGlobalIsNan to enforce the use of Number.isFinite
and Number.isNan
.
Examples
Section titled ExamplesInvalid
Section titled InvalidparseInt("1"); // true
nursery/useNumberNamespace.js:1:1 lint/nursery/useNumberNamespace FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━
✖ Use Number.parseInt instead of the equivalent global.
> 1 │ parseInt("1"); // true
│ ^^^^^^^^
2 │
ℹ ES2015 moved some globals into the Number namespace for consistency.
ℹ Safe fix: Use Number.parseInt instead.
1 │ - parseInt("1");·//·true
1 │ + Number.parseInt("1");·//·true
2 2 │
parseFloat("1.1"); // true
nursery/useNumberNamespace.js:1:1 lint/nursery/useNumberNamespace FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━
✖ Use Number.parseFloat instead of the equivalent global.
> 1 │ parseFloat("1.1"); // true
│ ^^^^^^^^^^
2 │
ℹ ES2015 moved some globals into the Number namespace for consistency.
ℹ Safe fix: Use Number.parseFloat instead.
1 │ - parseFloat("1.1");·//·true
1 │ + Number.parseFloat("1.1");·//·true
2 2 │
NaN; // true
nursery/useNumberNamespace.js:1:1 lint/nursery/useNumberNamespace FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━
✖ Use Number.NaN instead of the equivalent global.
> 1 │ NaN; // true
│ ^^^
2 │
ℹ ES2015 moved some globals into the Number namespace for consistency.
ℹ Safe fix: Use Number.NaN instead.
1 │ - NaN;·//·true
1 │ + Number.NaN;·//·true
2 2 │
Infinity; // true
nursery/useNumberNamespace.js:1:1 lint/nursery/useNumberNamespace FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━
✖ Use Number.Infinity instead of the equivalent global.
> 1 │ Infinity; // true
│ ^^^^^^^^
2 │
ℹ ES2015 moved some globals into the Number namespace for consistency.
ℹ Safe fix: Use Number.Infinity instead.
1 │ - Infinity;·//·true
1 │ + Number.POSITIVE_INFINITY;·//·true
2 2 │
-Infinity; // true
nursery/useNumberNamespace.js:1:2 lint/nursery/useNumberNamespace FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━
✖ Use Number.Infinity instead of the equivalent global.
> 1 │ -Infinity; // true
│ ^^^^^^^^
2 │
ℹ ES2015 moved some globals into the Number namespace for consistency.
ℹ Safe fix: Use Number.Infinity instead.
1 │ - -Infinity;·//·true
1 │ + Number.NEGATIVE_INFINITY;·//·true
2 2 │
Valid
Section titled ValidNumber.parseInt("1"); // false
Number.parseFloat("1.1"); // false
Number.NaN; // false
Number.POSITIVE_INFINITY; // false
Number.NEGATIVE_INFINITY; // false