switch 文
CoddyのJavaScriptジャーニー「基礎」セクションの一部。レッスン 27/77。
switch文は、さまざまな条件に基づいてプログラムの流れを制御するもう1つの方法です。if-else if-elseを使うのと似ていますが、状況によってはより簡潔で読みやすくできます。
switch文は次のように動作します。
switch (expression) {
case value1:
// expressionがvalue1に一致する場合に実行するコード
break;
case value2:
// expressionがvalue2に一致する場合に実行するコード
break;
// ... ほかのcase ...
default:
// どのcaseにも一致しない場合に実行するコード
}expressionは1回評価されます。- 式の値は、各
caseの値と比較されます。 - 一致するものがあれば、対応するコードブロックが実行されます。
break文はswitch文を終了するために使われます。これがないと、実行は次のcaseへ続きます。
defaultケースは省略できます。他のどのケースにも一致しない場合に実行されます。
例を見てみましょう:
let day = 3;
let dayName;
switch (day) {
case 1:
dayName = "Sunday";
break;
case 2:
dayName = "Monday";
break;
case 3:
dayName = "Tuesday";
break;
// ... 他の曜日のcase ...
default:
dayName = "Invalid day";
}
console.log(dayName); // 出力: Tuesdayこの例では、switch文がdayの値を確認します。dayは3なので、3のcaseが実行され、dayNameに"Tuesday"が設定されます。
チャレンジ
初心者ユーザーからコマンドを受け取ります。
コマンドに基づいて変数 message の値を設定するには、switch文を使います。
message に次の値を設定します。
"System starting"→ コマンドが"start"の場合"System stopping"→ コマンドが"stop"の場合"System paused"→ コマンドが"pause"の場合"System resuming"→ コマンドが"resume"の場合
コマンドが既知の選択肢のいずれにも一致しない場合は、次の値を設定します。
"Unknown command"
最後に、プログラムは message の値を出力します。
あなたの課題は、switch文を使って message の値を正しく設定することです。
自分で試してみよう
// ユーザーからコマンドを取得する
let command = inp;
// メッセージを格納する変数を作成する
let message;
switch (command) {
// ここにコードを書く
}
// メッセージを出力する
console.log(message);このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: JavaScriptオンラインコンパイラ