Opționalitatea break în construcția switch-case în JavaScript

Comanda break în construcția switch-case nu este obligatorie. În absența break după executarea case-ului intenționat, vor fi executate și toate case-urile de mai jos.

Să ne uităm la un exemplu:

javascriptlet num = 1; // să fie numărul 1 aici

switch (num) {
  case 1:
    console.log(1); // acesta se va activa
  case 2:
    console.log(2); // și acesta se va activa
  case 3:
    console.log(3); // și acesta se va activa
}

Să schimbăm valoarea variabilei:

javascriptlet num = 2; // să fie numărul 2 aici

switch (num) {
  case 1:
    console.log(1);
  case 2:
    console.log(2); // acesta se va activa
  case 3:
    console.log(3); // și acesta se va activa
}

Să schimbăm valoarea variabilei:

javascriptlet num = 3; // să fie numărul 3 aici

switch (num) {
  case 1:
    console.log(1);
  case 2:
    console.log(2);
  case 3:
    console.log(3); // acesta se va activa
}

Uneori, această particularitate este folosită la rezolvarea problemelor. Uitați-vă la exemplu:

javascriptlet num = 1;
let res;

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

console.log(res);

Cu toate acestea, este mai evident să rezolvi o astfel de problemă cu if:

javascriptlet num = 1;
let res;

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

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

console.log(res);