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:
let 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:
let 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:
let 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:
let 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:
let num = 1;
let res;
if (num == 1 || num == 2) {
res = 'a';
}
if (num == 3) {
res = 'b';
}
console.log(res);