Break neobligātība JavaScript switch-case konstrukcijā

Komanda break konstrukcijā switch-case nav obligāta. Ja break trūkst, pēc paredzētā case izpildes, izpildīsies arī visi case zem tā.

Apskatīsim piemēru:

javascriptlet num = 1; // liksim, ka šeit ir skaitlis 1

switch (num) {
  case 1:
    console.log(1); // izpildīsies šis
  case 2:
    console.log(2); // izpildīsies arī šis
  case 3:
    console.log(3); // izpildīsies arī šis
}

Mainīsim mainīgā vērtību:

javascriptlet num = 2; // liksim, ka šeit ir skaitlis 2

switch (num) {
  case 1:
    console.log(1);
  case 2:
    console.log(2); // izpildīsies šis
  case 3:
    console.log(3); // izpildīsies arī šis
}

Mainīsim mainīgā vērtību:

javascriptlet num = 3; // liksim, ka šeit ir skaitlis 3

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

Dažreiz šo īpatnību izmanto, risinot uzdevumus. Apskatiet piemēru:

javascriptlet num = 1;
let res;

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

console.log(res);

Tomēr acīmredzamāk ir atrisināt šādu uzdevumu ar if:

javascriptlet num = 1;
let res;

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

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

console.log(res);