JavaScript-да switch-case конструкциясида break-нинг majburiy эмаслиги

switch-case конструкциясидаги break буйруги majburiy эмас. break бўлмаган тақдирда, ўйлаб топилган case бажарилганидан сўнг, ундан pastda турган барча 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); // бу ишлайди
}

Баъзан бундай хусусиятдан масалаларни ечishда foydaланилади. Мисолга кўзингizни тутинг:

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);