フォールスルーとは?
フォールスルー(Fallthrough)とは、プログラミングにおいて、switch文においてcaseの条件分岐にマッチした後に、break文を忘れて次のcase文を実行してしまうことを指します。
つまり、本来は一つの条件分岐を指定しているはずが、複数のcase文を実行してしまうことになり、プログラムの挙動が予期せぬものになってしまう可能性があります。
フォールスルーの例
以下は、フォールスルーの例です。
“`
switch (num) {
case 1:
console.log(“1を実行”);
case 2:
console.log(“2を実行”);
break;
case 3:
console.log(“3を実行”);
break;
default:
console.log(“該当するcaseがありません”);
}
“`
上記のコードでは、numが1の場合は「1を実行」、2の場合は「2を実行」、3の場合は「3を実行」という処理が行われるはずです。しかし、numが1の場合には「1を実行」の後に、break文がないため「2を実行」も実行されてしまいます。
つまり、numが1の場合には「1を実行」「2を実行」が実行され、本来の意図と異なった挙動となってしまいます。
フォールスルーの回避方法
フォールスルーを回避するためには、switch文において、case文の後に必ずbreak文を挿入することが必要です。これにより、1つの条件分岐のみが実行されるようになります。
以下は、フォールスルーを回避する方法です。
“`
switch (num) {
case 1:
console.log(“1を実行”);
break;
case 2:
console.log(“2を実行”);
break;
case 3:
console.log(“3を実行”);
break;
default:
console.log(“該当するcaseがありません”);
}
“`
このように、各caseの最後に必ずbreak文を挿入することで、フォールスルーを回避することができます。
まとめ
フォールスルーは、プログラムにおいて予期せぬ挙動を引き起こす可能性があるため注意が必要です。switch文を使用する際には、必ず各caseの最後にbreak文を挿入し、フォールスルーを回避するようにしましょう。
参考記事
合わせて読みたい
【Google Chrome】右クリックで翻訳がでなくなった時の対策方法の決定版