Ошибка ESLint: «значение» никогда не переназначается, вместо этого используйте «const» - PullRequest
0 голосов
/ 28 октября 2019

Я добавляю ESLint в свой проект Node и не могу понять, как изменить этот код для правильной работы:

const connection = {};

for (let [prop, value] of connectionString) {
  prop = prop.split(' ')[0];
  connection[prop] = value;
}

Я получаю ошибку:

'value' is never reassigned. Use 'const' instead.

1 Ответ

3 голосов
/ 28 октября 2019

Вместо переназначения prop создайте новую переменную для первого слова. Таким образом, и prop, и value могут быть объявлены с помощью const:

const connection = {};
for (const [prop, value] of connectionString) {
  const firstWord = prop.split(' ')[0];
  connection[firstWord] = value;
}

В большинстве случаев чистый читаемый код может нормально работать без переназначения переменной. Лучше всего переназначать существующую переменную только тогда, когда у вас абсолютно есть - это большая часть того, почему существует правило, чтобы побудить вас использовать const (и в результате создать более читаемый код).

Вы также можете достичь этого без промежуточной переменной:

const connection = {};
for (const [prop, value] of connectionString) {
  connection[prop.split(' ')[0]] = value;
}
...