JavaScriptにおけるswitch-case構文におけるbreakの任意性
switch-case構文内のbreak命令は
必須ではありません。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);