Необавезност 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);