Skip to content
You are currently reading docs for v1.x. Go to the latest docs if you are using newer version.

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();
}
biome.json
{
"linter": {
"rules": {
"suspicious": {
"noFallthroughSwitchClause": "error"
}
}
}
}