Skip to content
← Back to rules

eslint/default-case-last 风格

它的作用

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

为什么这是个问题?

按照惯例并为了提高可读性,default 子句应位于 switch 语句的末尾。 虽然将 default 放在 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;
}

如何使用

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

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

参考资料