プログラミングを学び始めると、必ずと言っていいほど出会うのが「条件分岐」です。多くの初心者はまずif文を使いますが、条件が増えるほどコードが右に寄り、見通しが悪くなってしまいます。今回は、そんな「if文の迷路」から抜け出すためのswitch-case文という強力な武器を紹介します。
なぜif文だけでは限界があるのか
例えば、ユーザーのステータスによって表示するメッセージを変える機能を考えてみましょう。「管理者ならA、編集者ならB、一般ユーザーならC、それ以外はD」といった処理をif-else ifで書くと、同じ条件式を何度も書くことになり、コードが冗長になります。また、どこか一箇所で書き間違いをすると、バグの温床になりがちです。
case文は「駅の改札」をイメージしよう
switch-case文は、一つの値を複数のケース(事例)と照らし合わせる仕組みです。特定の変数に注目し、それがどの「case」に一致するかを判断します。
例えば、Webアプリの「画面遷移」を制御する場面で考えてみましょう。
switch (pageType) {
case ‘home’:
renderHome();
break;
case ‘profile’:
renderProfile();
break;
case ‘settings’:
renderSettings();
break;
default:
renderNotFound();
}
このように書くと、どの値がどこへ行くのかが一目瞭然ですよね。breakというキーワードは、「ここで処理を終わらせる」というストップボタンの役割を果たします。これを忘れると、次のcaseまで実行されてしまうので注意してください。
case文を使うメリット
この書き方の最大の利点は、読みやすさと保守性です。if文で複雑にネストされた条件を追うよりも、リスト形式で処理が並んでいる方が、後からコードを見返したときに「この値のときはこうなる」というルールを即座に理解できます。
実務でのワンポイントアドバイス
最近のモダンなJavaScriptでは、このcase文をさらに進化させた「オブジェクトリテラルを使った分岐」もよく使われます。しかし、まずは基本のswitch-caseを完璧に使いこなすことが大切です。
まずは「if文が3つ以上並びそうだな」と感じたら、ぜひ一度switch-caseに置き換えてみてください。それだけで、あなたの書くコードは驚くほどプロフェッショナルな見た目に変わりますよ。