# default-case

switch 语句中需要 default 个案例

一些代码约定要求所有 switch 语句都有 default 大小写,即使默认大小写为空,例如:

switch (foo) {
    case 1:
        doSomething();
        break;

    case 2:
        doSomething();
        break;

    default:
    // do nothing
}

想法是最好总是明确说明默认行为应该是什么,这样开发人员是否忘记了错误地包含默认行为就很清楚了。

其他代码约定允许您跳过 default 案例,只要有注释表明省略是故意的,例如:

switch (foo) {
    case 1:
        doSomething();
        break;

    case 2:
        doSomething();
        break;

    // no default
}

再一次,这里的目的是表明开发人员打算不存在默认行为。

# 规则详情

此规则旨在要求 switch 语句中的 default 案例。如果没有 default 案例,您可以选择在最后一个 case 之后包含一个 // no default。注释可以是任何需要的情况,例如 // No Default

此规则的错误代码示例:

/*eslint default-case: "error"*/

switch (a) {
    case 1:
        /* code */
        break;
}

此规则的正确代码示例:

/*eslint default-case: "error"*/

switch (a) {
    case 1:
        /* code */
        break;

    default:
        /* code */
        break;
}

switch (a) {
    case 1:
        /* code */
        break;

    // no default
}

switch (a) {
    case 1:
        /* code */
        break;

    // No Default
}

# 选项

此规则接受单个选项参数:

  • commentPattern 选项设置为正则表达式字符串以更改默认的 /^no default$/i 注释测试模式

# commentPattern

{ "commentPattern": "^skip\\sdefault" } 选项的正确代码示例:

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

switch(a) {
    case 1:
        /* code */
        break;

    // skip default
}

switch(a) {
    case 1:
        /* code */
        break;

    // skip default case
}

# 何时不使用

如果您不想为 switch 语句强制执行 default 案例,您可以安全地禁用此规则。

Last Updated: 5/13/2023, 8:55:38 PM