---
url: /docs/guide/usage/linter/rules/eslint/default-case-last.md
---

### 作用

要求 `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;
}
```

## 如何使用

## 版本

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

## 参考资料
