switch выбирает одну из нескольких веток по значению выражения — альтернатива цепочке if...else if.
Подробности
Выражение сравнивается с case через строгое равенство (===). Без break выполнение «проваливается» в следующие case (fall-through). Если ничего не совпало — выполняется default.
switch (expression) {
casevalue1:
// expression === value1break;
casevalue2:
// expression === value2break;
default:
// ничего не совпало
}
Удобен для дискретных значений (статусы, коды). Для диапазонов и сложных условий обычно лучше if.
Итог
switch — ветвление по значению с явными case/default; не забывайте break, если fall-through не нужен.