useNumericLiterals
¥Summary
-
规则生效日期:
v1.0.0¥Rule available since:
v1.0.0 -
诊断类别:
lint/complexity/useNumericLiterals¥Diagnostic Category:
lint/complexity/useNumericLiterals -
此规则为推荐规则,默认启用。
¥This rule is recommended, which means is enabled by default.
-
此规则包含 safe 修复程序。
¥This rule has a safe fix.
-
此规则的默认严重级别为 warning。
¥The default severity of this rule is warning.
-
来源:
¥Sources:
-
¥Same as
prefer-numeric-literals
-
¥How to configure
{ "linter": { "rules": { "complexity": { "useNumericLiterals": "error" } } }}¥Description
禁止 parseInt() 和 Number.parseInt(),转而使用二进制、八进制和十六进制文字
¥Disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals
JavaScript 为二进制、八进制和十六进制数字提供文字形式。例如:0b11、0o77 和 0xff。使用文字形式可启用静态代码分析并避免不必要的计算。
¥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
¥Invalid
parseInt("111110111", 2);code-block.js:1:1 lint/complexity/useNumericLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠ This call to parseInt() can be replaced by a binary literal.
> 1 │ parseInt(“111110111”, 2);
│ ^^^^^^^^^^^^^^^^^^^^^^^^
2 │
ℹ Using a literal avoids unnecessary computations.
ℹ Safe 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/complexity/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.
ℹ Safe 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/complexity/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.
ℹ Safe fix: Use the computed hexadecimal literal instead.
1 │ - Number.parseInt(“-1f7”,·16);
1 │ + -0x1f7;
2 2 │
¥Valid
parseInt(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);¥Related links
Biome v2.1 中文网 - 粤ICP备13048890号