为什么ESLint会引发有关已使用的未使用变量的警告?

时间:2018-10-20 05:12:49

标签: javascript ecmascript-6 scope

我已经写了大约2个月的React&ES6代码。不知道我是否还没有遇到过这个问题,或者今天早上我是否脑筋急转弯。

进行了一些研究,并发现了constlet上的大量文章,但没有任何文章可以解决。我一直在读,您不再需要使用var,那么您将如何处理这种情况?

function () {
  let variable = null;

  if (condition) {
    variable = 'hello world';
  }

  console.log(variable); // want 'hello world' if condition
}

编辑:请假设函数正在调用且条件为true

我看到代码在这种情况下可以工作,但是我的困惑是:在控制台日志中引用变量之前,我的ESlint报告了[eslint]: 'variable' is assigned a value but never used

不是正在使用吗?

2 个答案:

答案 0 :(得分:1)

通过“使用”,ESLint指的是实际使用它。就ESLint而言,仅在其中添加值并不构成使用它。

永远不会访问其值的变量无用。

答案 1 :(得分:1)

所以这是一个附带条件:https://eslint.org/docs/rules/no-unused-vars

如果您不熟悉eslint的工作,则:

  

它的目标是为JavaScript提供一个可插入的linting实用程序

如果您想删除此规则,可以将此行添加到.eslintrc

nikko:cms-v3 nikko$ cat .eslintrc.json
{
  "rules": {
    ...
    "no-unused-vars": "off", // add this
  

不是正在使用吗?

是否调用函数并不重要,如果eslint看到您在该范围内定义了变量,但从未使用过该变量,它将吐出该错误。您所做的是重新定义了不使用它的变量。

let variable需要以某种方式被消耗

相关问题