English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JavaScript switch文

 JavaScript ステートメントと変数宣言

switchステートメントはJavaScriptの条件文条件によって異なるアクションを実行するために使用されるものの一つです。

switchステートメントは、式の値を評価し、式の値とcase子句をマッチし、そのcaseに関連付けられたステートメントを実行し、マッチしたcaseの次のステートメントも実行します。

各caseタグに関連付けられているbreakステートメントは、一旦マッチしたステートメントが実行されると、プログラムがswitchから退出し、switchの次のステートメントから続行することを確実にします。breakを省略すると、プログラムはswitch文の次のステートメントから続行します。

defaultマッチしない場合にデフォルトで実行されるコードを指定するステートメントです。switchではデフォルトステートメントが1つだけです。これはオプションですが、予期せぬ状況を処理するために推奨します。

switchを使って、実行したい多くのコードブロックのうちの1つを選択します。これは長いネストされたif ... else文の完璧な解決策です。

语法:

switch (expression) {
  case value1:   //文が実行されたとき
   //expressionが一致した結果 value1
   break;
  case value2:   //文が実行されたとき
   //expressionが一致した結果 value2
   break;
  ...
  case valueN:   //文が実行されたとき
   //expressionが一致した結果 valueN
   break;
  default:   //以上のいずれにも該当しない場合に実行される文
   //これらの値はexpressionの値と一致します
   }
var city = document.querySelector("input").value;
var text;
switch(city) {
   case "Jaipur":
   text = "Jaipur is known as the Pink City";
   break;
   case "Bengaluru":
   text = "Bengaluru is known as the IT city";
   break;
   case "Kerala": 
   text = "Kerala God39;s Own Country";
   break;
   default:
   text = "I have never heard of that city...";
}
テストして見て‹/›

ブラウザの互換性

すべてのブラウザはswitch文を完全にサポートしています:

switch

パラメータの値

パラメータ説明
expression各case文と一致する結果を返す式です。
case valueNexpressionと一致するcase文です。expressionが指定されたvalueNと一致するときに、case文内の文を実行します。breakまで実行し、switch文の終わりに達します。
default(オプション)デフォルト文;expressionの値がどのcase文にも一致しない場合に実行される文です。

技術詳細

JavaScriptバージョン:ECMAScript 1

更多示例

業務日の識別番号を使用して業務日の名前を計算します(日曜日=0、月曜日=1、火曜日=2、水曜日=3、木曜日=4、金曜日=5、土曜日=6、など): 1など):

var day;
switch(new Date().getDay()) {
case 0: day = "Sunday";
break;
case 1: day = "Monday";
break;
case 2: day = "Tuesday";
break;
case 3: day = "Wednesday";
break;
case 4: day = "Thursday";
break;
case 5: day = "Friday";
break;
case 6: day = "Saturday";
break;
default: day = "Undefined Day";
}
テストして見て‹/›

breakを忘れた場合、スクリプトは条件に一致する状況から実行を開始し、条件を満たす状況で実行を続けます:

var num = Number(document.querySelector("input").value);
var text;
switch(num) {
   case 1あなたが入力した番号は 1";
   case 2あなたが入力した番号は 2";
   case 3あなたが入力した番号は 3";
   case 4あなたが入力した番号は 4";
   case 5あなたが入力した番号は 5";
   default: text = "Default statement executed";
}
テストして見て‹/›

時には、異なる状況が同じコードを使用したり、一般的なコードを使用したい場合があります。

これは単一の操作switchステートメントの例であり、4つの異なる値が同じ操作を実行します:

var num = Number(document.querySelector("input").value);
var text;
switch(num) {
   case 1:
   case 2:
   case 3:
   case 4:
  text = "あなたが入力した番号は、 1 - 4";
  break;
   case 5:
   case 6:
   case 7:
   case 8:
  text = "あなたが入力した番号は、 5 - 8";
  break; 
   default: text = "デフォルトのステートメントが実行されました";
}
テストして見て‹/›

関連リファレンス

JavaScript チュートリアル:JavaScript If ... Else ステートメント

JavaScript チュートリアル:JavaScript switch

JavaScript リファレンス:JavaScript break ステートメント

 JavaScript ステートメントと変数宣言