caseの概要
条件分岐の選択肢 JavaScript予約語 | ||
case 概要 わかりやすく説明 |
||
|
caseの基本的な使い方
以下は、switch
文とcase
を使った基本的な例です。
// 基本的なswitch文の使用例
const fruit = "banana";
switch (fruit) {
case "apple":
console.log("リンゴです。");
break;
case "banana":
console.log("バナナです。");
break;
case "orange":
console.log("オレンジです。");
break;
default:
console.log("不明な果物です。");
}
// 出力: バナナです。
switch
文は変数や値を評価し、一致するcase
を実行します。break
を使用して条件の処理が終了したらswitch
文全体を抜けます。
複数のcaseで同じ処理を実行する
複数のcase
をまとめて同じ処理を行うことが可能です。
// 複数のcaseで同じ処理
const day = "土曜日";
switch (day) {
case "土曜日":
case "日曜日":
console.log("休日です。");
break;
default:
console.log("平日です。");
}
// 出力: 休日です。
- 複数の
case
を連続して記述することで、同じ処理を実行できます。 break
がないと、次のcase
まで実行が続くので注意が必要です。
caseに式を使用する
case
内で式を使用して動的な値を評価できます。
// 式を使用したcase
const age = 18;
switch (true) {
case age < 13:
console.log("子供です。");
break;
case age >= 13 && age < 20:
console.log("ティーンエイジャーです。");
break;
case age >= 20:
console.log("成人です。");
break;
default:
console.log("年齢が不明です。");
}
// 出力: ティーンエイジャーです。
switch
文にtrue
を渡すことで、case
で条件式を評価可能です。- 複雑な条件を処理する場合に便利です。
注意点
- breakの省略に注意:
break
を記述しないと、次のcase
に処理が流れ込む(フォールスルー)可能性があります。 - defaultの推奨:
default
を記述することで、すべてのcase
に一致しない場合の処理をカバーできます。 - 一致は厳密比較:
case
の値は===
で比較されるため、型の違いに注意してください。
よくある質問
- Q:
case
とif...else
の違いは何ですか? - A:
switch
文は、複数の値を効率的に比較する際に適しています。一方、if...else
はより複雑な条件式を扱うのに向いています。 - Q:
case
で文字列と数値を比較できますか? - A: いいえ、
case
は厳密比較(===
)を使用するため、型が異なる場合は一致しません。 - Q:
break
を省略しても良い場合はありますか? - A: 特定の
case
からフォールスルー(次のcase
に処理を続ける)が必要な場合にbreak
を省略しますが、意図を明確にするコメントを追加するのが良いです。
まとめ
case
は、switch
文内で特定の条件に基づく処理を定義するための便利なキーワードです。
case
とbreak
を適切に使用して、条件分岐を効率化しましょう。- 複数の
case
をまとめて同じ処理を実行することが可能です。 default
を記述して、すべての条件に対応できる堅牢なコードを目指しましょう。