10章モジュール

モジュラープログラミングの目的は、異なる作者やソースからのコードモジュールを使って、大規模なプログラムを組み立て、さまざまなモジュールの作者が予想していないようなコードが存在していても、そのコードが正しく実行されるようにすることです。実際的な話としては、モジュール化とは、実装をカプセル化して(隠して)、グローバルな名前空間を汚さないようにし、ほかのモジュールで定義されている変数や関数、クラスを誤って変更しないようにすることです。

最近まで、JavaScriptにはモジュール機構が組み込まれていませんでした。このため、大きなコードを記述する場合、クラスやオブジェクト、クロージャを使ってなんとか利用できるレベルにしたモジュール機構を活用していました。ただし、このモジュール機構はあまり強力なものではありませんでした。コードバンドルツールのサポートを受けて、クロージャベースのモジュール化は、require()関数ベースのモジュール機構として実用化されました。このモジュール機構はNodeで採用されているものです。require()関数ベースのモジュール機構は、Nodeプログラミング環境の基本となる部分ですが、JavaScript言語には公式に採用されませんでした。その代わりに、ES6では、importexportというキーワードを使ってモジュールを定義します。importexportは何年も前から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.