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

default: false

true にすると、初期代入前に読み込まれる変数について、警告が出ません。これは主に typescript/no-use-before-define ルールとの競合を回避するために役立ちます。

使用方法

設定ファイルまたは CLI でこのルールを 有効化 するには、次のように使用できます:

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

参照