sindresorhus/eslint-plugin-unicorn

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

Chiusa

#2229 aperta il 12 dic 2023

 (0 commenti) (0 reazioni) (0 assegnatari)JavaScript (468 fork)user submission
bughelp wantedtypes

Metriche repository

Star
 (5022 stelle)
Metriche merge PR
 (Merge medio 1g 16h) (399 PR mergiate in 30 g)

Descrizione

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

Guida contributor