Skip to content
← Back to rules

eslint/default-case-last Style

作用

要求 switch 语句中的 default 子句位于最后。

为什么不好?

按照惯例且为了可读性,default 子句应该是 switch 中的最后一个。 虽然将其放在 case 子句之前或之间是合法的,但这样做令人困惑,并且可能 导致意外的“贯穿”行为。

示例

此规则不正确代码的示例:

js
/* default-case-last: "error" */

switch (foo) {
  default:
    bar();
    break;
  case "a":
    baz();
    break;
}

switch (foo) {
  case 1:
    bar();
    break;
  default:
    baz();
    break;
  case 2:
    qux();
    break;
}

此规则正确代码的示例:

js
/* default-case-last: "error" */

switch (foo) {
  case 1:
    bar();
    break;
  case 2:
    qux();
    break;
  default:
    baz();
    break;
}

switch (foo) {
  case "x":
    bar();
    break;
  case "y":
  default:
    baz();
    break;
}

如何使用

To enable this rule using the config file or in the CLI, you can use:

json
{
  "rules": {
    "default-case-last": "error"
  }
}
ts
import { defineConfig } from "oxlint";

export default defineConfig({
  rules: {
    "default-case-last": "error",
  },
});
bash
oxlint --deny default-case-last

版本

此规则是在 v0.0.16 中添加的。

参考资料