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を記述して、すべての条件に対応できる堅牢なコードを目指しましょう。