useNumericLiterals
此内容尚不支持你的语言。
Diagnostic Category: lint/style/useNumericLiterals
Since: v1.0.0
Sources:
- Same as:
prefer-numeric-literals
Description
Section titled DescriptionDisallow parseInt()
and Number.parseInt()
in favor of binary, octal, and hexadecimal literals
JavaScript provides literal forms for binary, octal, and hexadecimal numbers.
For example: 0b11
, 0o77
, and 0xff
.
Using the literal forms enable static code analysis and avoid unnecessary computations.
Examples
Section titled ExamplesInvalid
Section titled InvalidparseInt("111110111", 2);
code-block.js:1:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ This call to parseInt() can be replaced by a binary literal.
> 1 │ parseInt(“111110111”, 2);
│ ^^^^^^^^^^^^^^^^^^^^^^^^
2 │
ℹ Using a literal avoids unnecessary computations.
ℹ Unsafe fix: Use the computed binary literal instead.
1 │ - parseInt(“111110111”,·2);
1 │ + 0b111110111;
2 2 │
Number.parseInt("767", 8);
code-block.js:1:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ This call to Number.parseInt() can be replaced by an octal literal.
> 1 │ Number.parseInt(“767”, 8);
│ ^^^^^^^^^^^^^^^^^^^^^^^^^
2 │
ℹ Using a literal avoids unnecessary computations.
ℹ Unsafe fix: Use the computed octal literal instead.
1 │ - Number.parseInt(“767”,·8);
1 │ + 0o767;
2 2 │
Number.parseInt("-1f7", 16);
code-block.js:1:1 lint/style/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ This call to Number.parseInt() can be replaced by a hexadecimal literal.
> 1 │ Number.parseInt(“-1f7”, 16);
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │
ℹ Using a literal avoids unnecessary computations.
ℹ Unsafe fix: Use the computed hexadecimal literal instead.
1 │ - Number.parseInt(“-1f7”,·16);
1 │ + -0x1f7;
2 2 │
Valid
Section titled ValidparseInt(1);parseInt(1, 3);Number.parseInt(1);Number.parseInt(1, 3);
0b111110111 === 503;0o767 === 503;0x1F7 === 503;
a[parseInt](1,2);
parseInt(foo);parseInt(foo, 2);Number.parseInt(foo);Number.parseInt(foo, 2);
How to configure
Section titled How to configure{ "linter": { "rules": { "style": { "useNumericLiterals": "error" } } }}