switch文の概要
| 条件分岐 JavaScript予約語 | ||
|
switch (式) { case 値: 文; … } 概要 わかりやすく説明 |
||
|
switch文の基本的な使い方
以下は、switch文を使用した基本的な例です。
// 曜日によるメッセージの切り替え
const day = "月曜日";
switch (day) {
case "月曜日":
console.log("週の始まりです!");
break;
case "金曜日":
console.log("もうすぐ週末です!");
break;
default:
console.log("普通の日です。");
break;
}
switch文のcaseに一致する条件がある場合、その処理が実行されます。breakがないと、次のcaseに処理が続きます。defaultは一致するcaseがない場合に実行されます。
switch文の応用例
複雑な条件分岐や変数による動的な制御を行う場合、switch文が役立ちます。
// 数値に応じたランク表示
const score = 85;
switch (true) {
case score >= 90:
console.log("ランクA");
break;
case score >= 75:
console.log("ランクB");
break;
case score >= 50:
console.log("ランクC");
break;
default:
console.log("ランクD");
break;
}
// 簡易的な電卓の実装
const operator = "+";
const num1 = 5;
const num2 = 3;
switch (operator) {
case "+":
console.log(num1 + num2); // 8
break;
case "-":
console.log(num1 - num2); // 2
break;
case "*":
console.log(num1 * num2); // 15
break;
case "/":
console.log(num1 / num2); // 1.666...
break;
default:
console.log("無効な演算子です。");
break;
}
switch文を用いることで、スコアや状態に基づく動的な制御が可能です。- 計算機や選択メニューの実装など、複数の条件分岐を効率的に処理できます。
switch文の注意点
- 型の一致が必要:
switch文では厳密等価(===)による比較が行われるため、型が異なる場合は一致しません。 - breakを忘れない:
breakを省略すると、次のcaseも実行されてしまいます(フォールスルー)。 - 複雑な条件には向かない: 条件式が複雑になる場合、
if/else ifを使用した方が可読性が高い場合があります。
よくある質問
- Q:
switch文でcaseにbreakを省略しても良い場合はありますか? - A: はい、意図的にフォールスルーさせたい場合があります。ただし、コメントでその意図を明示することが推奨されます。
- Q:
switch文のcaseで複数の値を扱うにはどうすれば良いですか? - A: 条件ごとに
caseを並べるか、条件式内で値をリストとして評価します。 - Q:
defaultは必須ですか? - A: 必須ではありませんが、すべてのケースに対応できるように、
defaultを含めることが推奨されます。
まとめ
switch文は、複数の条件に基づいて効率的に処理を分岐させるための構文です。コードの可読性を向上させることができる強力なツールです。
- 単純な条件分岐に最適で、特にケース数が多い場合に便利です。
- 適切な
breakとdefaultを使用して、意図した動作を保証しましょう。 - 状況に応じて
if/else ifとの使い分けを検討してください。