useNumberNamespace
Diagnostic Category: lint/style/useNumberNamespace
Since: v1.5.0
Sources:
- Same as:
unicorn/prefer-number-properties
Description
Section titled DescriptionUse 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 behavior 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
code-block.js:1:1 lint/style/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
code-block.js:1:1 lint/style/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
code-block.js:1:1 lint/style/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
code-block.js:1:1 lint/style/useNumberNamespace FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Use Number.POSITIVE_INFINITY instead of the equivalent global.
> 1 │ Infinity; // true
│ ^^^^^^^^
2 │
ℹ ES2015 moved some globals into the Number namespace for consistency.
ℹ Safe fix: Use Number.POSITIVE_INFINITY instead.
1 │ - Infinity;·//·true
1 │ + Number.POSITIVE_INFINITY;·//·true
2 2 │
-Infinity; // true
code-block.js:1:2 lint/style/useNumberNamespace FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Use Number.NEGATIVE_INFINITY instead of the equivalent global.
> 1 │ -Infinity; // true
│ ^^^^^^^^
2 │
ℹ ES2015 moved some globals into the Number namespace for consistency.
ℹ Safe fix: Use Number.NEGATIVE_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
How to configure
Section titled How to configure{ "linter": { "rules": { "style": { "useNumberNamespace": "error" } } }}