Неабавязковасць break у канструкцыі switch-case ў JavaScript
Каманда break
у канструкцыі switch-case
не з'яўляецца абавязковай. Пры адсутнасці break
пасля выканання задуманага case
,
выканаюцца і ўсе case
ніжэй яго.
Давайце паглядзім на прыкладзе:
let num = 1; // хай тут лік 1
switch (num) {
case 1:
console.log(1); // спрацуе гэта
case 2:
console.log(2); // спрацуе і гэта
case 3:
console.log(3); // спрацуе і гэта
}
Зменім значэнне зменнай:
let num = 2; // хай тут лік 2
switch (num) {
case 1:
console.log(1);
case 2:
console.log(2); // спрацуе гэта
case 3:
console.log(3); // спрацуе і гэта
}
Зменым значэнне зменнай:
let num = 3; // хай тут лік 3
switch (num) {
case 1:
console.log(1);
case 2:
console.log(2);
case 3:
console.log(3); // спрацуе гэта
}
Часам такую асаблівасць выкарыстоўваюць, пры вырашэнні задач. Глядзіце прыклад:
let num = 1;
let res;
switch (num) {
case 1:
case 2:
res = 'a';
break;
case 3:
res = 'b';
break;
}
console.log(res);
Відавочней, аднак, вырашыць
такую задачу праз if
:
let num = 1;
let res;
if (num == 1 || num == 2) {
res = 'a';
}
if (num == 3) {
res = 'b';
}
console.log(res);