Skip to content
← Back to rules

eslint/prefer-const 风格

🛠️ An auto-fix is available for this rule for some violations.

它的作用

要求对那些在初始声明后从未被重新赋值的变量使用 const 声明。

为什么这是个问题?

如果一个变量从未被重新赋值,使用 const 声明会更好。const 声明向读者传达“此变量永远不会被重新赋值”的信息,从而降低认知负担并提高可维护性。

示例

此规则的 错误 代码示例:

js
let a = 3;
console.log(a);

let b;
b = 0;
console.log(b);

for (let i in [1, 2, 3]) {
  console.log(i);
}

此规则的 正确 代码示例:

js
const a = 0;

let a;
a = 0;
a = 1;

let a;
if (true) {
  a = 0;
}

for (const i in [1, 2, 3]) {
  console.log(i);
}

配置

destructuring

type: "any" | "all"

"any"

如果解构赋值中的任意变量应为 const,则发出警告。

"all"

仅当解构赋值中所有变量都应为 const 时才发出警告。否则,忽略它们。

ignoreReadBeforeAssign

type: boolean

默认值: false

如果设置为 true,该规则将不会报告那些在初始赋值前就被读取的变量。这主要有助于避免与 typescript/no-use-before-define 规则产生冲突。

如何使用

通过配置文件或 CLI 启用此规则,可以使用:

json
{
  "rules": {
    "prefer-const": "error"
  }
}
bash
oxlint --deny prefer-const

参考资料