useSimpleNumberKeys (since v12.1.0)
Disallow number literal object member names which are not base10 or uses underscore as separator
Examples
Invalid
({ 0x1: 1 });
nursery/useSimpleNumberKeys.js:1:4 lint/nursery/useSimpleNumberKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━
⚠ Hexadecimal number literal is not allowed here.
> 1 │ ({ 0x1: 1 });
│ ^^^
2 │
ℹ Safe fix: Replace 0x1 with 1
1 │ - ({·0x1:·1·});
1 │ + ({·1:·1·});
2 2 │
({ 11_1.11: "ee" });
nursery/useSimpleNumberKeys.js:1:4 lint/nursery/useSimpleNumberKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━
⚠ Number literal with underscore is not allowed here.
> 1 │ ({ 11_1.11: "ee" });
│ ^^^^^^^
2 │
ℹ Safe fix: Replace 11_1.11 with 111.11
1 │ - ({·11_1.11:·"ee"·});
1 │ + ({·111.11:·"ee"·});
2 2 │
({ 0o1: 1 });
nursery/useSimpleNumberKeys.js:1:4 lint/nursery/useSimpleNumberKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━
⚠ Octal number literal is not allowed here.
> 1 │ ({ 0o1: 1 });
│ ^^^
2 │
ℹ Safe fix: Replace 0o1 with 1
1 │ - ({·0o1:·1·});
1 │ + ({·1:·1·});
2 2 │
({ 1n: 1 });
nursery/useSimpleNumberKeys.js:1:4 lint/nursery/useSimpleNumberKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━
⚠ Bigint is not allowed here.
> 1 │ ({ 1n: 1 });
│ ^^
2 │
ℹ Safe fix: Replace 1n with 1
1 │ - ({·1n:·1·});
1 │ + ({·1:·1·});
2 2 │
({ 11_1.11: "ee" });
nursery/useSimpleNumberKeys.js:1:4 lint/nursery/useSimpleNumberKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━
⚠ Number literal with underscore is not allowed here.
> 1 │ ({ 11_1.11: "ee" });
│ ^^^^^^^
2 │
ℹ Safe fix: Replace 11_1.11 with 111.11
1 │ - ({·11_1.11:·"ee"·});
1 │ + ({·111.11:·"ee"·});
2 2 │
Valid
({ 0: "zero" });
({ 122: "integer" });
({ 1.22: "floating point" });
({ 3.1e12: "floating point with e" });