defaultケースとは?
defaultケースは、switchにおける分岐条件の一部で、すべてのcaseが一致しなかった場合に実行される処理を指定します。デフォルトのケースとして、caseに指定されていない値に対応する際にdefaultが活躍します。ifでいうところのelseに似た役割を果たします。
defaultケースの基本構造
defaultは、すべてのcaseが一致しなかった場合に実行されるコードブロックです。以下のように記述します。
switch (式) {
case 値1:
// 値1に一致する場合の処理
break;
case 値2:
// 値2に一致する場合の処理
break;
default:
// どの値にも一致しない場合の処理
}
defaultは最後に配置されるのが一般的ですが、switchのどこに記述しても動作します。defaultは必須ではありませんが、指定することで、どのcaseにも一致しない場合のフォールバックとして処理を行うことができます。
defaultケースの使用例
次に、defaultケースを使った具体的な例を見てみましょう。
let fruit = "grape";
switch (fruit) {
case "apple":
console.log("リンゴです");
break;
case "banana":
console.log("バナナです");
break;
default:
console.log("不明な果物です");
}
この例では、変数fruitの値がどのcaseにも一致しないため、defaultが実行され、「不明な果物です」というメッセージが表示されます。
defaultケースの使い方のポイント
defaultケースは、すべてのcaseが一致しなかった場合の処理を指定するため、予期しない値やエラーを防ぐために役立ちます。例えば、ユーザーからの入力を検証する際、想定外の値が入力された場合にdefaultでエラーメッセージを表示することができます。
let day = "holiday";
switch (day) {
case "monday":
console.log("月曜日です");
break;
case "tuesday":
console.log("火曜日です");
break;
case "wednesday":
console.log("水曜日です");
break;
default:
console.log("不明な日です");
}
この例では、変数dayが"holiday"で、どのcaseにも一致しないためdefaultが実行され、「不明な日です」というメッセージが表示されます。defaultを使用することで、予期しない状況に対応できます。
defaultケースとbreak
通常、caseブロックの最後にはbreakを入れますが、defaultでは必須ではありません。switchの最後にある場合は、次に実行されるブロックがないためbreakは不要です。しかし、defaultが他のcaseの間にある場合には、breakを追加して次のcaseの処理が実行されないようにする必要があります。
let food = "pasta";
switch (food) {
case "sushi":
console.log("寿司です");
break;
default:
console.log("不明な料理です");
break;
case "ramen":
console.log("ラーメンです");
}
この例では、defaultケースが他のcaseの間にあります。そのため、breakを使用して次のcaseが実行されないようにしています。
defaultケースがない場合
defaultケースを記述しない場合、switchは、どのcaseにも一致しないときに何も処理を行いません。これは、条件が予測可能な場合に問題はありませんが、予期しない値が入力される可能性がある場合には、defaultを使用して適切なフォールバックを行うことが推奨されます。
まとめ
JavaScriptのswitchにおけるdefaultケースは、すべてのcaseが一致しなかった場合に処理を行うために非常に有用です。defaultを使用することで、予期しない状況に対しても安全に処理を実行でき、エラーや想定外の動作を防ぐことができます。breakの使用や、適切なフォールバック処理を行うことで、柔軟かつ堅牢な条件分岐が可能になります。