Break neprivalomumas JavaScript switch-case konstrukcijoje

Komanda break switch-case konstrukcijoje nėra privaloma. Jei break nėra, įvykdžius numatytą case, vykdomi ir visi case žemiau jo.

Pažiūrėkime pavyzdį:

javascriptlet num = 1; // tarkime čia yra skaičius 1

switch (num) {
  case 1:
    console.log(1); // suveiks šis
  case 2:
    console.log(2); // suveiks ir šis
  case 3:
    console.log(3); // suveiks ir šis
}

Pakeiskime kintamojo reikšmę:

javascriptlet num = 2; // tarkime čia yra skaičius 2

switch (num) {
  case 1:
    console.log(1);
  case 2:
    console.log(2); // suveiks šis
  case 3:
    console.log(3); // suveiks ir šis
}

Pakeiskime kintamojo reikšmę:

javascriptlet num = 3; // tarkime čia yra skaičius 3

switch (num) {
  case 1:
    console.log(1);
  case 2:
    console.log(2);
  case 3:
    console.log(3); // suveiks šis
}

Kartais ši ypatybė naudojama sprendžiant uždavinius. Žiūrėkite pavyzdį:

javascriptlet num = 1;
let res;

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

console.log(res);

Tačiau akivaizdžiau išspręsti tokį uždavinį naudojant if:

javascriptlet num = 1;
let res;

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

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

console.log(res);