Ихтиёрӣ будани 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);