Skip to content

noFallthroughSwitchClause

Diagnostic Category: lint/suspicious/noFallthroughSwitchClause

Since: v1.0.0

Sources:

Disallow fallthrough of switch clauses.

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

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

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.

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