はじめに:switch文とは? if文との違いを理解しよう
JavaScriptでプログラムを書く際、条件によって処理を分岐させる場面は多く存在します。そのような場合に役立つのが条件分岐です。
JavaScriptには、条件分岐を行うための構文として、if
文とswitch
文が用意されています。
if
文は、条件式が真(true
)の場合に特定の処理を実行する構文です。一方、switch
文は、特定の値(式)と複数のケースを比較し、一致するケースに該当する処理を実行する構文です。
つまり、if
文は「条件式が真かどうか」で処理を分岐させるのに対し、switch
文は「特定の値と一致するかどうか」で処理を分岐させるという違いがあります。
switch文の基本構文:具体的なコード例を使って解説
それでは、switch文の基本的な構文を、具体的なコード例を交えながら見ていきましょう。
switch (式) {
case 値1:
// 式が値1と一致する場合に実行される処理
break;
case 値2:
// 式が値2と一致する場合に実行される処理
break;
// 必要に応じてcaseを追加
default:
// いずれのcaseにも一致しない場合に実行される処理
}
switch文は、まず括弧(()
)内の式を評価します。そして、その式の値と、各case
の後に記述された値を比較します。
もし、式の値と一致する値を持つcase
が見つかった場合、そのcase
に続く処理が実行されます。
各case
の処理の最後には、break;
文を記述するのが一般的です。 break;
文を記述することで、switch文の実行が終了し、後続の処理が実行されます。
もし、break;
文を記述しなかった場合、一致したcase
の次のcase
の処理も続けて実行されてしまいます。
switch文を更に活用! より柔軟な条件分岐を実現するテクニック
switch文は、基本的な構文に加えて、より柔軟な条件分岐を実現するためのテクニックも用意されています。ここでは、その中でも特に重要な2つのテクニックをご紹介します。
フォールスルー:意図的にbreakを省略する
先ほど、
break;
文を記述することでswitch文の実行が終了し、後続の処理が実行されることを説明しました。しかし、意図的に
break;
文を省略することで、複数のcase
を連続して実行することができます。これをフォールスルーと呼びます。フォールスルーは、複数の条件をまとめて処理したい場合などに役立ちます。
const day = new Date().getDay(); // 0:日曜日, 1:月曜日, ... switch (day) { case 0: case 6: console.log('本日は週末です。'); break; default: console.log('本日は平日です。'); break; }
上記の例では、変数
day
の値が0(日曜日)または6(土曜日)の場合に、「本日は週末です。」というメッセージが出力されます。default句:どのcaseにも該当しない場合の処理
switch
文には、どのcase
にも該当しない場合に実行される**default
句**を設けることができます。default
句は必須ではありませんが、予期せぬ値が渡された場合の処理などを記述しておくことで、プログラムの堅牢性を高めることができます。const signal = '青'; switch (signal) { case '赤': console.log('止まれ!'); break; case '黄': console.log('注意して進め!'); break; case '青': console.log('進め!'); break; default: console.log('信号が故障している可能性があります。'); break; }
上記の例では、変数
signal
の値が「赤」「黄」「青」以外の値だった場合に、「信号が故障している可能性があります。」というメッセージが出力されます。
まとめ:switch文をマスターして、可読性・保守性の高いJavaScriptコードを書こう
今回は、JavaScriptのswitch文について解説しました。
switch文は、複数の条件分岐を簡潔に記述できるため、可読性・保守性の高いコードを書く上で非常に役立ちます。
本記事で紹介した内容を踏まえ、switch文をマスターして、より効率的で高品質なJavaScriptコード作成に役立ててください。
関連記事
- JavaScriptのif文をマスターしよう!条件分岐の基礎から応用まで徹底解説JavaScriptのif文とは? 条件分岐の基本を理解しよう! JavaScriptでプログラムを書く際に、「もし○○だったら、△△を実行する」 というように、状況に応じて処理を分岐させたい場合があ …
- 【JavaScript入門】基礎から応用まで完全網羅!初心者でも安心の徹底解説JavaScriptとは? なぜ学ぶべきなのか? Webサイトをより魅力的でインタラクティブな体験を提供するために欠かせないプログラミング言語、それがJavaScriptです。
- JavaScript正規表現入門 - 文字列操作を極める強力なツールJavaScript正規表現入門 - 文字列操作を極める強力なツール Webサイト制作やアプリケーション開発において、JavaScriptは欠かせないプログラミング言語です。その中でも、 正規表現 …
- 【JS入門】DOM操作を徹底解説!仕組みから実践的なテクニックまではじめに:DOM操作とは? Webページを動的に変化させ、ユーザーにとって魅力的な体験を提供するために欠かせないのがDOM操作です。 DOMとは、Document Object Model(ドキュメン …
- 【JavaScript入門】onclickの使い方を簡単解説!初心者も納得の基礎知識JavaScriptのonclickとは?:Webページに動きを与える魔法! Webページを閲覧していて、「ボタンをクリックしたら画像が切り替わった!」、「入力フォームに誤りがあるとエラーメッセージが …