ESLint prefer-const 规则声明变量应该是 Const,即使它被重新分配

Posted

技术标签:

【中文标题】ESLint prefer-const 规则声明变量应该是 Const,即使它被重新分配【英文标题】:ESLint prefer-const rules is stating variable should be Const even though it IS reassigned 【发布时间】:2021-11-12 08:09:39 【问题描述】:

这发生在我的 Jasmine 测试文件之一中。

ESLint 声明 let 变量: "files" 没有被重新赋值,所以它应该是一个常量。然而从字面上看(128)下面的几行它被重新分配,所以如果我进行修复,就会出现错误。

我可能最终将其设为 const,然后更改 128 以将文件推送到数组中。 但我很好奇为什么它说它从未重新分配,我的 ESLint 配置可能有问题吗?

截图:

【问题讨论】:

【参考方案1】:

files 没有被重新分配 - 它被声明一次(在第 121 行),然后在稍后初始化(在第 128 行)。根据这个 ESLint 规则,你可以统一这两个语句并将它们重写为:

const files = [ name: 'launch.json'  as File];

【讨论】:

以上是关于ESLint prefer-const 规则声明变量应该是 Const,即使它被重新分配的主要内容,如果未能解决你的问题,请参考以下文章

prefer-const

通过“no-var-requires”ESLint 规则,导入没有声明文件的模块

no-redeclare (Rules) – Eslint 中文开发手册

eslint的语法配置项

允许调试器;某些文件中的语句,使用 ESLint

ESLInt 插件和 ESLInt 规则有啥区别?要创建自定义规则,我们必须先创建自己的插件吗?