defaultの概要
| デフォルト処理 JavaScript予約語 | ||
|
default 概要 わかりやすく説明 |
||
|
switch構文におけるdefaultの使い方
switch構文では、条件に一致しない場合の処理をdefaultで指定します。
// defaultを使用したswitch文
const fruit = "orange";
switch (fruit) {
case "apple":
console.log("リンゴです。");
break;
case "banana":
console.log("バナナです。");
break;
default:
console.log("未対応の果物です。");
break;
}
// 出力: 未対応の果物です。
- すべての
caseに一致しない場合にdefaultが実行されます。 defaultは省略可能ですが、条件に合わない場合の処理が必要なら記述するべきです。
モジュールのデフォルトエクスポート
export defaultは、モジュールで主要な機能をエクスポートする際に使用されます。デフォルトエクスポートは、モジュールにつき1回のみ使用できます。
// greet.js
export default function greet(name) {
return `こんにちは、${name}さん!`;
}
// main.js
import greet from "./greet.js";
console.log(greet("Alice")); // こんにちは、Aliceさん!
export defaultでエクスポートされた関数やクラスは、任意の名前でインポートできます。- 主要な機能や値をエクスポートする際に役立ちます。
defaultの応用例
条件付き処理や、モジュールをまとめる際にdefaultが活用できます。
// モジュールのまとめ
// square.js
export default function square(x) {
return x * x;
}
// cube.js
export default function cube(x) {
return x * x * x;
}
// main.js
import square from "./square.js";
import cube from "./cube.js";
console.log(square(3)); // 9
console.log(cube(3)); // 27
- 複数のモジュールでデフォルトエクスポートを使用することで、明確な目的ごとにコードを分割できます。
- インポート時にモジュールの用途に応じた名前を付けられます。
注意点
- switch文の
breakの忘れ:defaultを含むcaseには、忘れずにbreakを記述してください。breakがないと、意図せず次の処理が実行される可能性があります。 - 複数のデフォルトエクスポート禁止: 1つのモジュールで複数の
export defaultを定義することはできません。 - 名前付きエクスポートとの混在:
export defaultと名前付きエクスポートを併用する場合は、それぞれの用途を明確に区別してください。
よくある質問
- Q: switch文で
defaultを省略することはできますか? - A: はい、
defaultは省略可能ですが、条件に合わない場合の処理が必要なら明示的に記述すべきです。 - Q:
export defaultと名前付きエクスポートの違いは何ですか? - A:
export defaultはモジュールの主要なエクスポートを1つだけ指定します。一方、名前付きエクスポートは複数のエクスポートが可能です。 - Q:
defaultエクスポートを名前付きエクスポートに変更するメリットは? - A: 名前付きエクスポートは、モジュールの複数の機能を同時にエクスポート・インポートする場合に適しています。
まとめ
defaultは、JavaScriptでswitch文のデフォルト処理やモジュールのデフォルトエクスポートを指定するための便利なキーワードです。
switch文では、どのcaseにも一致しない場合の処理を定義します。- モジュールでは、主要な機能を
export defaultでエクスポート可能です。 - 適切に活用することで、条件分岐やモジュール管理を効率的に行えます。