10章モジュール
モジュラープログラミングの目的は、異なる作者やソースからのコードモジュールを使って、大規模なプログラムを組み立て、さまざまなモジュールの作者が予想していないようなコードが存在していても、そのコードが正しく実行されるようにすることです。実際的な話としては、モジュール化とは、実装をカプセル化して(隠して)、グローバルな名前空間を汚さないようにし、ほかのモジュールで定義されている変数や関数、クラスを誤って変更しないようにすることです。
最近まで、JavaScriptにはモジュール機構が組み込まれていませんでした。このため、大きなコードを記述する場合、クラスやオブジェクト、クロージャを使ってなんとか利用できるレベルにしたモジュール機構を活用していました。ただし、このモジュール機構はあまり強力なものではありませんでした。コードバンドルツールのサポートを受けて、クロージャベースのモジュール化は、require()
関数ベースのモジュール機構として実用化されました。このモジュール機構はNodeで採用されているものです。require()
関数ベースのモジュール機構は、Nodeプログラミング環境の基本となる部分ですが、JavaScript言語には公式に採用されませんでした。その代わりに、ES6では、import
とexport
というキーワードを使ってモジュールを定義します。import
とexport
は何年も前からJavaScriptの言語仕様に含まれていましたが、Webブラウザや、Nodeで実装されたのは比較的最近になってからです。また、実際問題としてJavaScriptのモジュール化は、依然としてコードバンドルツールにかなり依存しています。
これから節を分けて、次のような内容について説明していきます。 ...
Get JavaScript 第7版 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.