Neobveznost break v konstrukciji switch-case v JavaScript
Ukaz break v konstrukciji switch-case
ni obvezen. Če break manjka,
se po izvedbi predvidenega case
izvedejo tudi vsi case pod njim.
Poglejmo si primer:
let num = 1; // naj bo tukaj številka 1
switch (num) {
case 1:
console.log(1); // to se bo sprožilo
case 2:
console.log(2); // tudi to se bo sprožilo
case 3:
console.log(3); // tudi to se bo sprožilo
}
Spremenimo vrednost spremenljivke:
let num = 2; // naj bo tukaj številka 2
switch (num) {
case 1:
console.log(1);
case 2:
console.log(2); // to se bo sprožilo
case 3:
console.log(3); // tudi to se bo sprožilo
}
Spremenimo vrednost spremenljivke:
let num = 3; // naj bo tukaj številka 3
switch (num) {
case 1:
console.log(1);
case 2:
console.log(2);
case 3:
console.log(3); // to se bo sprožilo
}
Včasih to lastnost uporabijo pri reševanju problemov. Poglejte primer:
let num = 1;
let res;
switch (num) {
case 1:
case 2:
res = 'a';
break;
case 3:
res = 'b';
break;
}
console.log(res);
Vendar je bolj očitno, da takšno nalogo
rešimo z if:
let num = 1;
let res;
if (num == 1 || num == 2) {
res = 'a';
}
if (num == 3) {
res = 'b';
}
console.log(res);