useLiteralKeys
Summary
Section titled Summary- Rule available since:
v1.0.0
- Diagnostic Category:
lint/complexity/useLiteralKeys
- This rule is recommended, which means is enabled by default.
- This rule has an unsafe fix.
- The default severity of this rule is error.
- Sources:
- Same as
dot-notation
- Same as
@typescript-eslint/dot-notation
- Same as
Description
Section titled DescriptionEnforce the usage of a literal access to properties over computed property access.
Examples
Section titled ExamplesInvalid
Section titled Invalida.b["c"];
code-block.js:1:5 lint/complexity/useLiteralKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ The computed expression can be simplified without the use of a string literal.
> 1 │ a.b[“c”];
│ ^^^
2 │
ℹ Unsafe fix: Use a literal key instead.
1 │ - a.b[“c”];
1 │ + a.b.c;
2 2 │
a.c[`d`]
code-block.js:1:5 lint/complexity/useLiteralKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ The computed expression can be simplified without the use of a string literal.
> 1 │ a.c[d
]
│ ^^^
2 │
ℹ Unsafe fix: Use a literal key instead.
1 │ - a.c[</strong></span><span style="color: Tomato;"><strong>d</strong></span><span style="color: Tomato;"><strong>
]
1 │ + a.c.d
2 2 │
a.c[`d`] = "something"
code-block.js:1:5 lint/complexity/useLiteralKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ The computed expression can be simplified without the use of a string literal.
> 1 │ a.c[d
] = “something”
│ ^^^
2 │
ℹ Unsafe fix: Use a literal key instead.
1 │ - a.c[</strong></span><span style="color: Tomato;"><strong>d</strong></span><span style="color: Tomato;"><strong>
]·=·“something”
1 │ + a.c.d·=·“something”
2 2 │
a = { ['b']: d}
code-block.js:2:3 lint/complexity/useLiteralKeys FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ The computed expression can be simplified to a string literal.
1 │ a = {
> 2 │ [‘b’]: d
│ ^^^
3 │ }
4 │
ℹ Unsafe fix: Use a literal key instead.
1 1 │ a = {
2 │ - → [‘b’]:·d
2 │ + → “b”:·d
3 3 │ }
4 4 │
Valid
Section titled Valida["c" + "d"];a[d.c];
How to configure
Section titled How to configure{ "linter": { "rules": { "complexity": { "useLiteralKeys": "error" } } }}