ESLint prefer-const错误与条件重新分配

时间:2016-12-19 19:40:56

标签: javascript syntax ecmascript-6 const eslint

是否有一种特殊的方法可以在条件语句中重新分配let以避免导致prefer-const eslint错误?

我的代码:

let jsx = [];

if (a === b) {
  jsx.push(
    <div>
      xxx
    </div>
  );
}

jsx.push(<div>yyy</div>);

===更新=== 抱歉令人困惑,实际上这不是重新分配操作。

2 个答案:

答案 0 :(得分:2)

您可以使用const因为您没有重新分配jsx变量,只需按下它指向的数组:

  const jsx = [];

  if (a === b) {
    jsx.push(
      <div>
        xxx
      </div>
    );
  }

  jsx.push(<div>yyy</div>);

答案 1 :(得分:1)

你没有重新分配jsx变量,你只是在修改它。可以修改使用const声明的变量,因此您只需将let替换为const

来自MDN

  

const声明会创建对值的只读引用。 意味着它保持的值是不可变的,只是无法重新分配变量标识符。例如,如果内容是一个对象,这意味着对象本身仍然可以被更改。

示例:

const arr = [];
arr.push(42);
console.log(arr);