Closed4
JavaScript の switch の挙動
const expr = "first"
switch (expr) {
case "first":
console.log("1")
case "second":
console.log("2")
case "third":
console.log("3")
}
「"1", "2", "3"」が表示される。
break を書いておかないと、一度 case に入ってしまったらその case と次以降の case にも入ってしまう。
break を入れるようにすれば良い。
Ruby の場合は break は必要無い。
最初に合致した case のみ実行される。
TypeScript だとフォロースルーに対して警告を出してくれるオプションがあるので、 true 推奨っぽい。
フォールスルーはしばしばバグの原因になります。TypeScriptでは、コンパイラオプションnoFallthroughCasesInSwitchをtrueにすると、フォールスルーを警告するようになります。このオプションは有効化しておきましょう。
このスクラップは2022/05/02にクローズされました