Neobveznost break v konstrukciji switch-case v JavaScript

Ukaz break v konstrukciji switch-case ni obvezen. Če break manjka, se po izvedbi predvidenega case izvedejo tudi vsi case pod njim.

Poglejmo si primer:

javascriptlet num = 1; // naj bo tukaj številka 1

switch (num) {
  case 1:
    console.log(1); // to se bo sprožilo
  case 2:
    console.log(2); // tudi to se bo sprožilo
  case 3:
    console.log(3); // tudi to se bo sprožilo
}

Spremenimo vrednost spremenljivke:

javascriptlet num = 2; // naj bo tukaj številka 2

switch (num) {
  case 1:
    console.log(1);
  case 2:
    console.log(2); // to se bo sprožilo
  case 3:
    console.log(3); // tudi to se bo sprožilo
}

Spremenimo vrednost spremenljivke:

javascriptlet num = 3; // naj bo tukaj številka 3

switch (num) {
  case 1:
    console.log(1);
  case 2:
    console.log(2);
  case 3:
    console.log(3); // to se bo sprožilo
}

Včasih to lastnost uporabijo pri reševanju problemov. Poglejte primer:

javascriptlet num = 1;
let res;

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

console.log(res);

Vendar je bolj očitno, da takšno nalogo rešimo z if:

javascriptlet num = 1;
let res;

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

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

console.log(res);