Voliteľnosť break v konštrukcii switch-case v JavaScripte

Príkaz break v konštrukcii switch-case nie je povinný. Ak chýba break, po vykonaní zamýšľaného case sa vykonajú aj všetky case pod ním.

Pozrime sa na príklad:

javascriptlet num = 1; // nech je tu číslo 1

switch (num) {
  case 1:
    console.log(1); // spustí sa toto
  case 2:
    console.log(2); // spustí sa aj toto
  case 3:
    console.log(3); // spustí sa aj toto
}

Zmeňme hodnotu premennej:

javascriptlet num = 2; // nech je tu číslo 2

switch (num) {
  case 1:
    console.log(1);
  case 2:
    console.log(2); // spustí sa toto
  case 3:
    console.log(3); // spustí sa aj toto
}

Zmeňme hodnotu premennej:

javascriptlet num = 3; // nech je tu číslo 3

switch (num) {
  case 1:
    console.log(1);
  case 2:
    console.log(2);
  case 3:
    console.log(3); // spustí sa toto
}

Niekedy sa táto zvláštnosť využíva pri riešení úloh. Pozrite si príklad:

javascriptlet num = 1;
let res;

switch (num) {
  case 1:
  case 2:
    res = 'a';
  break;
  case 3:
    res = 'b';
  break;
}

console.log(res);

Je však zrejmejšie vyriešiť takúto úlohu pomocou if:

javascriptlet num = 1;
let res;

if (num == 1 || num == 2) {
  res = 'a';
}

if (num == 3) {
  res = 'b';
}

console.log(res);