Skip to content

default-case

推荐在switch语句中使用default分支

为什么?

为了明确指出默认行为,防止忘记包含兜底逻辑导致的边界场景判断遗漏问题。

建议

建议在switch语句中总是包含default分支,如果确实不需要兜底,请在最后一个case后面添加一条// no default注释,以表明故意省略default分支。

错误示例

js
const foo = 1;
const doSomething = () => {};

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

  case 2:
    doSomething();
    break;
}
const foo = 1;
const doSomething = () => {};

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

  case 2:
    doSomething();
    break;
}

正确示例

js
const foo = 1;
const doSomething = () => {};

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

  case 2:
    doSomething();
    break;

  default:
  // do nothing
}

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

  case 2:
    doSomething();
    break;

  // no default
}
const foo = 1;
const doSomething = () => {};

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

  case 2:
    doSomething();
    break;

  default:
  // do nothing
}

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

  case 2:
    doSomething();
    break;

  // no default
}

参考