no-useless-switch-case

March 27, 2026 ยท View on GitHub

๐Ÿ“ Disallow useless case in switch statements.

๐Ÿ’ผ This rule is enabled in the following configs: โœ… recommended, โ˜‘๏ธ unopinionated.

๐Ÿ’ก This rule is manually fixable by editor suggestions.

An empty case before the last default case is useless.

Examples

// โŒ
switch (foo) {
	case 1:
	default:
		handleDefaultCase();
		break;
}
// โœ…
switch (foo) {
	case 1:
	case 2:
		handleCase1And2();
		break;
}
// โœ…
switch (foo) {
	case 1:
		handleCase1();
		break;
	default:
		handleDefaultCase();
		break;
}
// โœ…
switch (foo) {
	case 1:
		handleCase1();
		// Fallthrough
	default:
		handleDefaultCase();
		break;
}
// โœ…
switch (foo) {
	// This is actually useless, but we only check cases where the last case is the `default` case
	case 1:
	default:
		handleDefaultCase();
		break;
	case 2:
		handleCase2();
		break;
}