JavaScript Switch演算子
switch
演算子は、さまざまな条件に基づいてさまざまなアクションを実行するために使用されます。
JavaScript Switch演算子
switch
ステートメントを使用して、実行する多くのコード ブロックの 1 つを選択します。
構文
<div>switch(<em>expression</em>) {
case <em>x</em>:
<em> // code block
</em> break;
case <em>y</em>:
<em> // code block
</em> break;
default:
// <em>code block</em>
}</div>
これがどのように機能するのか
- switch式は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";
}
日の結果は次のようになります。
`let d=new Date().getDay();
switch (d) {
case 0:
x="Sunday";
break;
case 1:
x="Monday";
break;
case 2:
x="Tuesday";
break;
case 3:
x="Wednesday";
break;
case 4:
x="Thursday";
break;
case 5:
x="Friday";
break;
case 6:
x="Saturday";
break;
}
document.write(x);`
breakキーワード
JavaScriptがbreak
キーワードで、switchブロックから抜け出します。
これにより、スイッチ ブロック内の実行が停止します。
switchブロックの最後のケースをブレークする必要はありません。とにかく、ブロックはそこで壊れます(終了します)。
注:break文を省略すると、評価が一致しなくても次のcaseが実行されます。
デフォルトのキーワード
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";
}
テキストの結果は次のようになります。
`switch (new Date().getDay()) {
case 6:
x= "Today is Saturday";
break;
case 0:
x = "Today is Sunday";
break;
default:
x = "Looking forward to the Weekend";
}
document.write(x);`
default
caseはswitchブロックの最後のケースである必要はありません:
例
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
はswitchブロックの最後のcaseで無い場合は、必ずdefaultのcaseをブレークで終了することを忘れないでください。
共通コードブロック
場合によっては、異なるswitch casesで同じコードを使用したいことがあります。
この例では、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";
}
切り替えの詳細
複数のケースがケース値に一致する場合、最初のケースが選択されます。
一致するケースが見つからない場合、プログラムはデフォルトラベルに進みます。
デフォルトのラベルが見つからない場合、プログラムは切り替え後のステートメントに進みます。
厳密な比較
スイッチケースの場合は厳密な比較(===)を使用します。
一致するには、値が同じタイプである必要があります。
厳密な比較は、オペランドが同じ型である場合にのみtrueになります。
この例では、xに一致するものはありません。
例
let x = "0";
switch (x) {
case 0:
text = "Off";
break;
case 1:
text = "On";
break;
default:
text = "No value found";
}
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。