Незадължителността на 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);