Opcjonalność break w konstrukcji switch-case w JavaScript
Polecenie break w konstrukcji switch-case
nie jest obowiązkowe. W przypadku braku break
po wykonaniu zamierzonego case,
wykonają się również wszystkie case poniżej niego.
Spójrzmy na przykład:
let num = 1; // niech tutaj będzie liczba 1
switch (num) {
case 1:
console.log(1); // to zadziała
case 2:
console.log(2); // to też zadziała
case 3:
console.log(3); // to też zadziała
}
Zmieńmy wartość zmiennej:
let num = 2; // niech tutaj będzie liczba 2
switch (num) {
case 1:
console.log(1);
case 2:
console.log(2); // to zadziała
case 3:
console.log(3); // to też zadziała
}
Zmieńmy wartość zmiennej:
let num = 3; // niech tutaj będzie liczba 3
switch (num) {
case 1:
console.log(1);
case 2:
console.log(2);
case 3:
console.log(3); // to zadziała
}
Czasami taką cechę wykorzystuje się przy rozwiązywaniu zadań. Spójrz na przykład:
let num = 1;
let res;
switch (num) {
case 1:
case 2:
res = 'a';
break;
case 3:
res = 'b';
break;
}
console.log(res);
Jednak bardziej oczywiste jest rozwiązanie
takiego zadania za pomocą if:
let num = 1;
let res;
if (num == 1 || num == 2) {
res = 'a';
}
if (num == 3) {
res = 'b';
}
console.log(res);