JavaScriptSwitchステートメント_
ステートメントは、switch
さまざまな条件に基づいてさまざまなアクションを実行するために使用されます。
JavaScriptSwitchステートメント
switch
ステートメントを使用して、実行する多くのコードブロックの1つを選択します。
構文
switch(expression) {
case x:
// code block
break;
case y:
// code block
break;
default:
// code block
}
仕組みは次のとおりです。
- スイッチ式は1回評価されます。
- 式の値は、各ケースの値と比較されます。
- 一致するものがある場合、関連するコードブロックが実行されます。
- 一致するものがない場合、デフォルトのコードブロックが実行されます。
例
このgetDay()
メソッドは、平日を0から6までの数値として返します。
(日曜日= 0、月曜日= 1、火曜日= 2 ..)
この例では、曜日番号を使用して曜日名を計算します。
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";
}
1日の結果は次のようになります。
Saturday
休憩キーワード
JavaScriptがbreak
キーワードに到達すると、スイッチブロックから抜け出します。
これにより、スイッチブロック内の実行が停止します。
スイッチブロックの最後のケースを壊す必要はありません。とにかく、ブロックはそこで壊れます(終了します)。
注: breakステートメントを省略すると、評価がケースと一致しなくても、次のケースが実行されます。
デフォルトのキーワード
default
キーワードは、大文字と小文字が一致しない場合に実行するコードを指定します。
例
このgetDay()
メソッドは、平日を0から6までの数値として返します。
今日が土曜日(6)でも日曜日(0)でもない場合は、デフォルトのメッセージを記述します。
switch (new Date().getDay()) {
case 6:
text = "Today is Saturday";
break;
case 0:
text = "Today is Sunday";
break;
default:
text = "Looking forward to the Weekend";
}
テキストの結果は次のようになります。
Today is Saturday
ケースは、スイッチブロックの最後のdefault
ケースである必要はありません。
例
switch (new Date().getDay()) {
default:
text = "Looking forward to the Weekend";
break;
case 6:
text = "Today is Saturday";
break;
case 0:
text = "Today is Sunday";
}
default
がスイッチブロックの最後のケースでない場合は、デフォルトのケースをブレークで終了することを忘れないでください。
一般的なコードブロック
場合によっては、異なるスイッチケースで同じコードを使用する必要があります。
この例では、ケース4と5は同じコードブロックを共有し、0と6は別のコードブロックを共有します。
例
switch (new Date().getDay()) {
case 4:
case 5:
text = "Soon it is Weekend";
break;
case 0:
case 6:
text = "It is Weekend";
break;
default:
text = "Looking forward to the Weekend";
}
切り替えの詳細
複数のケースがケース値と一致する場合、最初のケースが選択されます。
一致するケースが見つからない場合、プログラムはデフォルトのラベルに進みます。
デフォルトのラベルが見つからない場合、プログラムは切り替え後のステートメントに進みます。
厳密な比較
スイッチケースは厳密な比較を使用します(===)。
一致させるには、値が同じタイプである必要があります。
厳密な比較は、オペランドが同じタイプの場合にのみ真になります。
この例では、xに一致するものはありません。
例
let x = "0";
switch (x) {
case 0:
text = "Off";
break;
case 1:
text = "On";
break;
default:
text = "No value found";
}