Break-komennon vapaaehtoisuus switch-case-rakenteessa JavaScriptissä

Komento break switch-case-rakenteessa ei ole pakollinen. Kun break puuttuu, suoritetaan tarkoitetun case:n lisäksi myös kaikki sen alapuolella olevat caset.

Katsotaanpa esimerkkiä:

javascriptlet num = 1; // olkoon tässä luku 1

switch (num) {
  case 1:
    console.log(1); // tämä toimii
  case 2:
    console.log(2); // myös tämä toimii
  case 3:
    console.log(3); // myös tämä toimii
}

Muutetaan muuttujan arvoa:

javascriptlet num = 2; // olkoon tässä luku 2

switch (num) {
  case 1:
    console.log(1);
  case 2:
    console.log(2); // tämä toimii
  case 3:
    console.log(3); // myös tämä toimii
}

Muutetaan muuttujan arvoa:

javascriptlet num = 3; // olkoon tässä luku 3

switch (num) {
  case 1:
    console.log(1);
  case 2:
    console.log(2);
  case 3:
    console.log(3); // tämä toimii
}

Tätä ominaisuutta käytetään joskus tehtäviä ratkaistaessa. Katso esimerkki:

javascriptlet num = 1;
let res;

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

console.log(res);

On kuitenkin ilmeisempää ratkaista tällainen tehtävä if:n avulla:

javascriptlet num = 1;
let res;

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

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

console.log(res);