【问题标题】:ESLint error: 'value' is never reassigned use 'const' insteadESLint 错误:永远不会重新分配“值”,而是使用“常量”
【发布时间】:2020-02-23 11:45:12
【问题描述】:
我正在将 ESLint 添加到我的 Node 项目中,但无法弄清楚如何更改此代码以使其正常工作:
const connection = {};
for (let [prop, value] of connectionString) {
prop = prop.split(' ')[0];
connection[prop] = value;
}
我收到错误:
'value' is never reassigned. Use 'const' instead.
【问题讨论】:
标签:
javascript
ecmascript-6
eslint
【解决方案1】:
与其重新分配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;
}