JavaScript Switch 文
- 前のページ JS 条件
- 次のページ JS ループ For
switch
条件に基づいて異なるアクションを実行するためのステートメントです。
JavaScript Switch 文
使用してください switch
条件に基づいて実行する必要のあるコードブロックのうちの1つを選択するために使用されるステートメントです。
文法
switch(式) { case n: コードブロック break; case n: コードブロック break; デフォルト: デフォルトコードブロック }
コードの説明:
- switch式を一度計算します
- 式の値を各caseの値と比較します
- 一致があれば、関連するコードを実行します
インスタンス
getDay()メソッドは0から6の範囲の週名の数字(weekday number)を返します。
(Sunday=0, Monday=1, Tuesday=2 ..)
この例では、週の名前を計算するために週名の数字を使用しています:
switch (new Date().getDay()) { case 0: day = "日曜日"; break; case 1: day = "月曜日"; break; case 2: day = "火曜日"; break; case 3: day = "水曜日"; break; case 4: day = "木曜日"; break; case 5: day = "金曜日"; break; case 6: day = "土曜日"; }
結果は:
breakキーワードに
JavaScriptが break
キーワード。それはswitchコードブロックから飛び出します。
これにより、コードブロック内のさらに多くのコードの実行およびcaseテストが停止します。
一致が見つかり、タスクが完了した場合、ランダムに実行を中断(break)します。さらなるテストは必要ありません。
break
大量の実行時間を節約できます。なぜなら、switchコードブロック内の他のコードの実行を「無視」するからです。
switchコードブロックの最後のcaseを中断する必要はありません。コードブロックはここで自然に終了します。
デフォルトキーワード
デフォルト
キーワードは、caseが一致しない場合に実行されるコードを指定します:
インスタンス
getDay()
メソッドは0から6の数字の週名を返します。
今日が土曜日(6)でも日曜日(0)でもない場合、デフォルトのメッセージを出力します:
switch (new Date().getDay()) { case 6: text = "今日は土曜日"; break; case 0: text = "今日は日曜日"; break; デフォルト: text = "週末を楽しみにしてる〜"; }
textの結果は:
デフォルトのcaseはswitchコードブロックの最後のcaseでない必要はありません:
インスタンス
switch (new Date().getDay()) { デフォルト: text = "週末を楽しみにしてる!"; break; case 6: text = "今日は土曜日"; break; case 0: text = "今日は日曜日"; }
もし デフォルト
switchコードブロックの最後のcaseでない場合、デフォルトケースを終了するためにbreakを使用を忘れないでください。
一般的なコードブロック
時には同じコードを使用するための異なるcaseが必要になることがあります。
この例では、case 4と5が同じコードブロックを共有し、0と6が別のコードブロックを共有しています:
インスタンス
switch (new Date().getDay()) { case 4: case 5: text = "週末が近づいてる:)"; break; case 0: case 6: text = "今日は週末〜"; break; デフォルト: text = "週末を楽しみにしてる!"; }
Switchingの詳細
同じ case 値に複数の case が一致する場合、最初の case を選択します。
一致する case が見つからない場合、プログラムはデフォルトの label を使用し続けます。
デフォルトの label が見つからない場合、プログラムは switch の次の文を実行し続けます。
厳密な比較
Switch case は厳密な比較(===
)。
値は一致するタイプと同じでなければなりません。
厳密な比較は、操作数が同じタイプに属する場合にのみ true になります。
この例では、x は一致しません:
インスタンス
var x = "0"; switch (x) { case 0: text = "Off"; break; case 1: text = "On"; break; デフォルト: text = "値が見つかりません"; }
教科書
さらに詳細については JavaScript Switch 文の知識がある場合は、JavaScript 高級トレーニングの関連内容を読んでください:
- ECMAScript switch 文
- switch 文は if 文の兄弟文です。このセクションでは、switch 文の使用法と Java の switch 文との違いについて説明します。
- 前のページ JS 条件
- 次のページ JS ループ For