Незадолжителноста на break во switch-case конструкцијата во JavaScript

Командата break во конструкцијата switch-case не е задолжителна. Во отсуство на break, по извршувањето на предвидениот case, ќе се извршат и сите case под него.

Да погледнеме на пример:

javascriptlet num = 1; // нека овде биде бројот 1

switch (num) {
  case 1:
    console.log(1); // ова ќе се активира
  case 2:
    console.log(2); // и ова ќе се активира
  case 3:
    console.log(3); // и ова ќе се активира
}

Да ја смениме вредноста на променливата:

javascriptlet num = 2; // нека овде биде бројот 2

switch (num) {
  case 1:
    console.log(1);
  case 2:
    console.log(2); // ова ќе се активира
  case 3:
    console.log(3); // и ова ќе се активира
}

Да ја смениме вредноста на променливата:

javascriptlet num = 3; // нека овде биде бројот 3

switch (num) {
  case 1:
    console.log(1);
  case 2:
    console.log(2);
  case 3:
    console.log(3); // ова ќе се активира
}

Понекогаш оваа карактеристика се користи, при решавање на проблеми. Погледнете го примерот:

javascriptlet num = 1;
let res;

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

console.log(res);

Сепак, поочигледно е да се реши ваков проблем со if:

javascriptlet num = 1;
let res;

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

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

console.log(res);