Skip to content

noFallthroughSwitchClause

诊断类别:lint/suspicious/noFallthroughSwitchClause

¥Diagnostic Category: lint/suspicious/noFallthroughSwitchClause

自从:v1.0.0

¥Since: v1.0.0

来源:

¥Sources:

禁止 switch 子句的 fallthrough。

¥Disallow fallthrough of switch clauses.

switch 语句中的 Switch 子句默认失败。如果忘记,这可能会导致意外行为。

¥Switch clauses in switch statements fall through by default. This can lead to unexpected behavior when forgotten.

该规则不考虑 process.exit()

¥The rule doesn’t take process.exit() in consideration.

¥Examples

¥Invalid

switch (bar) {
case 0:
a();
case 1:
b();
}
code-block.js:2:2 lint/suspicious/noFallthroughSwitchClause ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

This case is falling through to the next case.

1 │ switch (bar) {
> 2 │ case 0:
^^^^^^^
> 3 │ a();
^^^^
4 │ case 1:
5 │ b();

Add a break or return statement to the end of this case to prevent fallthrough.

¥Valid

switch (foo) {
case 1:
case 2:
doSomething();
break;
case 3: {
if (cond) {
break;
} else {
break;
}
}
case 4:
doSomething();
}

¥Related links