eslint-plugin-unicorn icon indicating copy to clipboard operation
eslint-plugin-unicorn copied to clipboard

`unicorn/prefer-at` incorrectly fixes object property key lookup

Open vincentbriglia opened this issue 7 months ago • 0 comments

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

vincentbriglia avatar Dec 12 '23 14:12 vincentbriglia