プログラミングで条件分岐を行うときによく使うのがif文とswitch文です。
それぞれに特徴があり、使い分けることが大切です。
今回は、if文とswitch文の違いを整理してみました。

if文とswitch文

if文は「もし○○だったら、△△する」という条件つきの命令を書くときに使います。

if (条件1) {    // 条件1が合っていたら実行する処理
 } else if (条件2) {   // 条件2が合っていたら実行する処理
 } else {    // どの条件にも当てはまらなかったときの処理
 }

一方で、switch文は複数の条件に基づいて処理を分ける必要がある場合に使います。

  switch (value) {
    case x :
    処理内容 ;
    break ;
  }

複数の条件に基づいて処理を分ける必要がある場合、if文を何度も使って条件をチェックするよりも、
switch文を使った方がすっきりと読みやすいコードになります。
~Crebitテキストより~

if文とswitch文の使い分けと目安

if が向いている場合
・複雑な条件(範囲比較や AND/OR を組み合わせる場合) 例: if (age > 18 && age < 30) { … }
・条件数が少ないとき
・値そのものではなく「状態」や「true/false判定」で処理を分けるとき

switch が向いている場合
・比較対象が「1つの変数や値」で、その値ごとに処理を分けたいとき
 例: userRole が “admin”, “editor”, “viewer” のとき処理を分岐
・条件が「等しいかどうか」のチェックが中心のとき
(switch は < や > のような範囲比較には不向き)
・ケースが多くなっても構造が崩れにくく、読みやすいとき

実際の比較例

では、同じ例でコードを比較するとどうでしょうか?

if文で書く場合
コードがスッキリしています。ただし、条件がどんどん増えると else if が続いて見づらくなります。

  let role = “editor”;
  if (role == “admin”) {
    console.log(“管理者としてすべての操作が可能です。”);
  } else if (role == “editor”) {
    console.log(“記事の編集が可能です。”);
  } else if (role == “viewer”) {
    console.log(“閲覧のみ可能です。”);
  } else {
    console.log(“権限が不明です。”);
  }


switch文で書く場合
分岐の構造がハッキリしていて、ケースが多くても読みやすいのが特徴です。

  let role = “editor”;
  switch (role) {
    case “admin”:
      console.log(“管理者としてすべての操作が可能です。”);
      break;
    case “editor”:
      console.log(“記事の編集が可能です。”);
      break;
    case “viewer”:
      console.log(“閲覧のみ可能です。”);
      break;
    default:
      console.log(“権限が不明です。”);
      break;
  }

まとめ

・条件が少ない & 複雑な判定をする → if文
・条件が多い & 単純に値で分岐する → switch文

今回学んだことを活かして、状況に応じて条件分岐を自然に選べるようになりたいと思います。