Skip to content
← Back to rules

eslint/default-case 制限

何をするか

すべての switch 文に default ケースが含まれるように強制します。ただし、設定されたコメントで明示的にマークされた場合は除きます。

なぜ問題なのか

default ケースがない場合、その省略が意図的だったのか、見落としによるものかが不明確になります。default を追加するか、特別なコメントを記述することで、コードの意図が明確になり、誤りを減らすことができます。

default ケースがない場合、最後の case の後に // no default を任意で含めることができます。コメントのケースは任意であり、// No Default のようにも書けます。

例: 設定例

json
{
  "default-case": ["error", { "commentPattern": "^skip\\sdefault" }]
}

このルールに対して 不正 なコードの例:

js
switch (foo) {
  case 1:
    break;
}

このルールに対して 正しい コードの例:

js
switch (a) {
  case 1:
    break;
  default:
    break;
}

switch (a) {
  case 1:
    break;
  // no default
}

設定

このルールは以下のプロパティを持つ設定オブジェクトを受け入れます。

commentPattern

type: string

default ケースが意図的に省略されていることを示すコメントを検出するために使用される正規表現パターンです。

デフォルト値: no default

{ "commentPattern": "^skip\\sdefault" } オプションを使用した場合の 不正 なコードの例:

js
switch (a) {
  case 1:
    break;
  // no default
}

{ "commentPattern": "^skip\\sdefault" } オプションを使用した場合の 正しい コードの例:

js
switch (a) {
  case 1:
    break;
  // skip default
}

使用方法

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

json
{
  "rules": {
    "default-case": "error"
  }
}
bash
oxlint --deny default-case

参照