フォールスルー 【fall through】

概要

フォールスルー(fall through)とは、プログラミングにおいてswitch文で分岐をう際、caseブロックの末尾にbreak文を置かずに次のcaseブロックをそのまま実行すること。

switch文C言語などに用意された制御構文で、「switch){case 値1:ブロック1;break;case 値2:ブロック2;break;…default:規定の処理}」のように記述する。を評価した結果が1に一致すればブロック1を、2に一致すればブロック2を…と対応するブロック実行し、いずれにも該当しなければdefault:ブロック実行する。

C言語などではcaseブロックの末尾にあるbreakは省略可能で、省略するとbreakに出会うまで後続のcaseブロックを次々に実行していく。このような制御をフォールスルーと呼び、分岐して何らかの前処理をした後に別の分岐に合流するような処理を効率よく記述できる。

フォールスルーはbreak文の記述を忘れて意図せず起きてしまう場合もあり、制御の流れが把握しづらく厄介なバグの原因となることがあるため批判も多い。Cを拡張したC++言語、Cの仕様を踏襲したJavaJavaScriptなどにこの仕様が受け継がれているが、C#Swiftのようにフォールスルーしたい場合は明示的に記述しなければならない設計の言語もある。

(2022.2.14更新)
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる