ES モジュールの主な特徴と概念は以下の通りです
-
エクスポートとインポート: モジュール内のコードは、エクスポートとインポートのステートメントを使用して、他のモジュールとデータや機能を共有します。エクスポートするものは、関数、変数、クラス、オブジェクト、その他の値などがあります。
// モジュールのエクスポート export const myFunction = () => { ... }; export const myVariable = 42; // モジュールのインポート import { myFunction, myVariable } from './myModule';
- ファイルごとのスコープ: モジュールごとに独立したスコープがあります。エクスポートされた要素は、そのモジュール内で定義された変数としてのみ存在し、グローバルスコープを汚染しません。
- 非同期読み込み: モジュールは非同期的に読み込まれ、必要に応じてダウンロードされます。これにより、アプリケーションの初期ロードを最適化することができます。
- 静的な解決: インポートされるモジュールのパスは静的に解決され、依存関係のグラフが構築されます。これにより、依存関係が一貫して管理されます。
ES モジュールは、モダンな JavaScript アプリケーションでコードを構造化し、モジュール間の依存関係を管理するために非常に強力なツールです。これは、Vite や Nuxt 3 などのツールが採用する理由の一部でもあります。