【switch文】完全一致した条件に応じて処理を分ける:Java Scriptの基礎⑨

Programming

今回は完全一致か否かの条件で処理を分けるswitch文の記述の仕方を紹介します。

if文もswitch文もだいたい同じ意味ですが、switch文も使えると応用の効く技術者になりますのでしっかりと覚えておくと良いでしょう。

こんな場合に使用

  • 条件に応じて複数の処理を行いたい
  • 完全一致のみ抽出される振り分けをしたい

難易度(MAX10)★★★★★☆☆☆☆☆

switch文の概要

switch文の基本的な構文は以下のとおりです。

switch (式)判定式に応じて処理を振り分ける
case 値: 処理条件を満たせば処理を実行する
defat: 処理どの条件にも満たさなかった場合に実行する

if文の場合は10〜100や20以上の場合など割と幅広い範囲で条件を設定できるがswitch文の場合は式と値が完全一致した場合のみ処理します。そのためクイズや返答の決まったアンケートなどに使えるプログラムです。

if文でもswitch文と同じことは可能だが「else if」の記述を大量に書く事になるので、場合によってはswitch文を使った方が効率的になります。Java Scriptで処理を複数に分けたい場合は基本はif文で処理が複雑になりそうだったらswitch文を使えば良いでしょう。

switch文の記述の仕方

具体的な記述の仕方は以下のサンプルを使って説明します。

const Q = '東京都'
switch (Q) {
case '東京都':
  alert('正解です');
  break;
case '東京':
  alert('惜しい!!');
  break;
default:
  alert('不正解です');
  break;
}

上記のプログラムでは、Qの値には「東京都」の文字列が入っています。
switchに入れた処理では、Qが「東京都」だったら「正解です」と返してね。「東京」だったら「惜しい!!」と返してね。それ以外は「不正解です」と返してね。
と言った指示を出しています。

今回の場合はQの値は「東京都」なので下記の様に「正解です」と表示されます。

switch文はcaseで始まりbreak;までを実行しようとします。なのでbreak;の記述がない場合はbreak;が見つかる場所までの処理を行います。
この性質を使えば次の様に処理を複数にまとめられ、どの条件でも「果物です」との返答に対応させる事が出来ます。

const Q = 'みかん'
switch (Q) {
case 'りんご':
case '梨':
case 'ぶどう':
case 'さくらんぼ':
case 'みかん':
  alert('果物です');
  break;
  default:
  alert('果物ではありません');
  break;
}

一応上記を解説しますと、
「りんご」「梨」「ぶどう」「さくらんぼ」「みかん」のいずれかの値だった場合、全て「果物です」と返事が来ます。
それ以外の値だった場合は全て「果物ではありません」との返事が来ます。

今回の場合はQは「みかん」になっているので下記の様に「果物です」との返答がきます。

またswitch文は===の厳密な等価である事で処理を行います。そのため100と文字列の「100」は違うものとして考えます。
なので下記のプログラムではdefault以降が処理されます。

const value = '100'
switch (value) {
    case 100:
        console.log('正しいです');
        break;
    default:
        console.log('正しい値を入れて下さい');
        break;
        
}

この様にifとは違った性質があるので使用するときには気を付けましょう。


以上が「【switch文】完全一致した条件に応じて処理を分ける:Java Scriptの基礎⑨」でした。

今回のswitch文に非常に似たif文の記述の仕方は下記の記事です。どちらも使えると応用の効く技術者になれるので覚えておきましょう。

この記事を書いた人
KEITO

AI × IT × WEB3|関東在住。本職はディレクター 。AIを活用してビジネス開拓。仕事の依頼はTwitterからお願いします。YouTube、Twitter、Instagramもお願い致します。

Programming
この記事を共有する
スポンサーリンク
スポンサーリンク
KT LIFE
スポンサーリンク

暗号資産投資するなら以下

Bybit

国内人気No.1!屈強なサーバー/信頼性抜群!トレーダー御用達の取引所。

通貨数338種以上
レバレッジ最大100倍
現物取引手数料Maker:0%〜0.1%
Taker:0.02%〜0.1%
先物取引手数料Maker:0%〜0.01%
Taker:0.03%〜0.06%
操作性スマホでも取引・入金できる
口座開設簡単に口座開設できる
日本語対応日本語対応あり・JPY利用可
特典下記から登録で初回ボーナスあり
登録リンクBybitへの登録は こちら
招待コード22295
レビュー記事レビュー記事は こちら
BigBoss&CRYPTOS

最大レバレッジ1111倍・日本円換金ルート

通貨数BigBoss:15種以上
CRYPTOS:15種以上
レバレッジ最大1111倍
スポット手数料Maker:0.02%〜0.18%
Taker:0.05〜0.20%
先物取引手数料
操作性スマホでも取引・入金できる
口座開設少し敷居が高い
日本語対応日本語対応あり
特典下記から登録で初回ボーナスあり
登録リンクBigBossへの登録は こちら
招待コード6690951
レビュー記事レビュー記事は こちら
Nexo

高APYでのステーキング&レンディング

通貨数60種以上
レバレッジ
スポット手数料Maker:0.04%〜0.20%
Taker:0.03%〜0.20%
先物取引手数料
操作性スマホでも取引・入金できる
口座開設簡単に口座開設できる
日本語対応日本語対応あり
特典下記から登録で初回ボーナスあり
登録リンクNexoへの登録は こちら
招待コード
レビュー記事レビュー記事は こちら

他おすすめ取引所はこちら

タイトルとURLをコピーしました