switch文を用いた条件分岐の基本と応用をわかりやすく解説

スポンサーリンク
スポンサーリンク

switch文の概要

条件分岐 JavaScript予約語

switch (式) { case 値: 文; … }

概要 switch文は、複数の条件に基づいて異なる処理を実行するための構文です。指定した式の値に一致するcaseを実行します。

わかりやすく説明 switch文は「複数の選択肢の中から1つを選んで処理を実行する」仕組みです。簡潔で読みやすいコードを書くのに役立ちます。

  • 条件に一致するcaseブロックが実行されます。
  • 一致するcaseがない場合、defaultブロックが実行されます(省略可能)。
  • 処理を終了するにはbreakが必要です。breakを省略すると次の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文でcasebreakを省略しても良い場合はありますか?
A: はい、意図的にフォールスルーさせたい場合があります。ただし、コメントでその意図を明示することが推奨されます。
Q: switch文のcaseで複数の値を扱うにはどうすれば良いですか?
A: 条件ごとにcaseを並べるか、条件式内で値をリストとして評価します。
Q: defaultは必須ですか?
A: 必須ではありませんが、すべてのケースに対応できるように、defaultを含めることが推奨されます。

まとめ

switch文は、複数の条件に基づいて効率的に処理を分岐させるための構文です。コードの可読性を向上させることができる強力なツールです。

  • 単純な条件分岐に最適で、特にケース数が多い場合に便利です。
  • 適切なbreakdefaultを使用して、意図した動作を保証しましょう。
  • 状況に応じてif/else ifとの使い分けを検討してください。