JavaScriptのswitchで複数ラベルに対応する方法を現役エンジニアが解説【初心者向け】

初心者向けにJavaScriptのswitchで複数ラベルに対応する方法について解説しています。条件分岐のひとつswitchの基本の使い方と、複数ラベルで条件分岐するときの書き方を説明します。サンプルコードで処理の流れを見ていきましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

JavaScriptのswitchで複数ラベルに対応する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

 

そもそもJavaScriptについてよく分からないという方は、JavaScriptとは何なのかについて解説した記事を読むとさらに理解が深まるでしょう。

 

なお本記事は、TechAcademyのオンラインブートキャンプJavaScript/jQuery講座の内容をもとにしています。

 

田島悠介

今回は、JavaScriptに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

switchで複数ラベルに対応する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

switchの基本の使い方

条件分岐として使用するswitchの基本的な使い方をみていきましょう。

また、さらに詳しいswitchの情報はこちらからご覧ください。

 

switchとは、次のようなコードになります。

const n = 2

switch (n) {

  case 1:

    console.log('柔道')

    break

  case 2:

    console.log('テニス')

    break

  default:

    console.log('その他')

}

上記のコードでは、変数nが2であるため、case 2の文が実行されてコンソールにテニスの文字が出力されます。

そして、breakが実行されることで、switchの処理を抜け出します。

仮に変数nが1であれば、柔道の文字が出力され、1でも2でもなければ、その他の文字が出力されます。

breakを置かなければ、次のcaseに対する文も実行してしまう点には注意しましょう。

 

複数ラベルで条件分岐する方法

ここでは、複数ラベルでの条件分岐を考えていきましょう。

breakを置かず、次のcase文を実行する仕様を利用していきます。

const n = 1

switch (n) {

  case 1:

  case 2:

    console.log('水泳')

    break

  default:

    console.log('その他')

}

上記では、変数nが1なのでcase 1の文が実行されるものの、何も記述していないため、この段階では何も起きません。

しかし、前述のコードと異なり、breakがありません。

そのため、次のcase 2の文が実行されることで、コンソールに水泳の文字が出力されます。

そしてbreakが実行され、switchを抜け出しましょう。

変数nが2であっても同様に、コンソールに水泳の文字が出力されます。

このように、あえてbreakを置かないことで複数の基準に対応することが可能です。

 

[PR] JavaScript・jQueryで挫折しない学習方法を動画で公開中

2つのラベルや5つのラベルで答えがバラバラの場合

では、2つのラベルや5つのラベルで答えがバラバラの場合を実現するコードを書いてみましょう。

const sport = '野球'

switch (sport) {

  case 'レスリング':

  case 'ボクシング':

    console.log('格闘技')

    break

  case '野球':

  case 'ラグビー':

  case 'ゴルフ':

  case '卓球':

  case 'サッカー':

    console.log('球技')

    break

  default:

    console.log('その他')

}

この場合では、コンソールに球技の文字が出力されます。

条件分岐を行うswitchを使って書いたコードとifを使って書いたコードを比較してみるとそれぞれの違いをより明確にできるでしょう。

 

執筆してくれたメンター

メンター久保田

Webシステム開発が中心のシステムエンジニア。

HTML、CSS、JavaScript(React、Vue.js)、PHP、Javaが守備範囲。

最初に選ぶポケモンは炎タイプ。

 

大石ゆかり

JavaScriptのswitchで複数ラベルに対応する方法が分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは、初心者でも最短4週間でJavaScript・jQueryを使ったWebサービス公開を習得できるオンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、参加してみてください。