Valfriheten av break i switch-case konstruktionen i JavaScript

Kommandot break i konstruktionen switch-case är inte obligatoriskt. I frånvaro av break, efter att den avsedda case har utförts, kommer alla case under den att utföras.

Låt oss titta på ett exempel:

javascriptlet num = 1; // låt oss säga att det är siffran 1 här

switch (num) {
  case 1:
    console.log(1); // detta kommer att triggas
  case 2:
    console.log(2); // detta kommer också att triggas
  case 3:
    console.log(3); // detta kommer också att triggas
}

Låt oss ändra variabelns värde:

javascriptlet num = 2; // låt oss säga att det är siffran 2 här

switch (num) {
  case 1:
    console.log(1);
  case 2:
    console.log(2); // detta kommer att triggas
  case 3:
    console.log(3); // detta kommer också att triggas
}

Låt oss ändra variabelns värde:

javascriptlet num = 3; // låt oss säga att det är siffran 3 här

switch (num) {
  case 1:
    console.log(1);
  case 2:
    console.log(2);
  case 3:
    console.log(3); // detta kommer att triggas
}

Ibland används denna egenskap när man löser problem. Titta på exemplet:

javascriptlet num = 1;
let res;

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

console.log(res);

Det är dock mer uppenbart att lösa en sådan uppgift med if:

javascriptlet num = 1;
let res;

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

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

console.log(res);