ESLint错误:永远不会重新分配“值”,而应使用“常量”

时间:2019-10-28 07:27:39

标签: javascript ecmascript-6 eslint

我正在将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 个答案:

答案 0 :(得分:3)

而不是重新分配prop,而是为第一个单词创建一个新变量。这样,propvalue都可以用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;
}