sindresorhus/eslint-plugin-unicorn
`unicorn/prefer-at` incorrectly fixes object property key lookup
Closed
#2,229 opened on Dec 12, 2023
bughelp wantedtypes
Repository metrics
- Stars
- (5,022 stars)
- PR merge metrics
- (Avg merge 1d 16h) (399 merged PRs in 30d)
Description
for the following code:
const x = {
1: 1,
a: 2,
};
const y = x['a']; // can also be written as x.a
const z = x[1];
the prefer-at rule will suggest and autofix const z = x[1]; to const z = x.at(1); - this is an object and therefore does not have the .at property available, while the x['a'] accessor remains unchanged.
While in TypeScript and Javascript, object property keys are supposed to always be strings, we cannot always assume that they are.
I believe that the rule should check whether you are accessing on an object and therefore not suggest the fix