switchとは?
switchは、JavaScriptにおける条件分岐の一種で、特定の値に基づいて複数の条件から1つを選択して処理を行います。ifと異なり、switchでは1つの変数や式の結果に応じて、複数のケースの中から適切なものを選び出し、対応する処理を実行します。
switchの基本構造
switchは、以下のような構造で使用します。
switch (式) {
case 値1:
// 値1に一致する場合の処理
break;
case 値2:
// 値2に一致する場合の処理
break;
}
switchでは、caseキーワードで各ケースを定義し、式の値と一致する場合にそのブロックが実行されます。
分岐の条件の例
次に、基本的なswitchの使用例を見てみましょう。
let fruit = "apple";
switch (fruit) {
case "apple":
console.log("リンゴです");
break;
case "banana":
console.log("バナナです");
break;
case "orange":
console.log("オレンジです");
break;
}
この例では、変数fruitが"apple"であるため、「リンゴです」というメッセージが表示されます。もしfruitが"banana"や"orange"であれば、それぞれのケースに応じたメッセージが表示されます。fruitがどのケースにも一致しない場合には、「不明な果物です」というデフォルトのメッセージが表示されます。
分岐の条件を使った応用例
次に、分岐の条件を使って、季節に応じたメッセージを表示するプログラムを見てみましょう。
let season = "summer";
switch (season) {
case "spring":
console.log("春です");
break;
case "summer":
console.log("夏です");
break;
case "autumn":
console.log("秋です");
break;
case "winter":
console.log("冬です");
break;
}
この例では、変数seasonが"summer"であるため、「夏です」というメッセージが表示されます。各季節に応じて異なるメッセージを表示する分岐を、switchで簡潔に表現できます。
分岐条件でのbreakの重要性
switchの中でbreakを使用することは非常に重要です。breakがない場合、条件に一致した後も次のcaseが実行されてしまいます。これをフォールスルーと呼びます。
let day = "monday";
switch (day) {
case "monday":
console.log("月曜日です");
case "tuesday":
console.log("火曜日です");
}
この例では、dayが"monday"に一致するにも関わらず、tuesdayの処理も続けて実行されます。これを防ぐためには、breakを各caseの後に配置する必要があります。「火曜日です」と表示されるわけではなく、case”tuesday”の条件式が実行されるという意味です。
まとめ
JavaScriptのswitchを使うと、特定の値に基づいた条件分岐をシンプルに記述できます。ifよりも可読性が高くなるケースが多く、特に複数の値に基づいて異なる処理を行う場合に有効です。breakの使用や、複数のcaseをまとめる技法を理解することで、さらに柔軟な条件分岐が可能になります。