JavaScriptにおけるクロージャーを用いたモジュール
上記で説明した問題は、あらゆるプログラミング言語に共通する特徴です。解決策として、いわゆるモジュールが使用されます。
モジュールは、その内部で定義された変数や関数が内部でのみ可視となり、外部に干渉しないように構成された構造体です。
JavaScriptにはいくつかの種類のモジュールが存在します。最も単純なクロージャーを用いたモジュールは、即時関数呼び出しを使用して次のように作成されます。
;(function() {
// モジュールのコードはここに記述
})();
このようなモジュール内で作成された変数や関数は、モジュールの外部からは見えません。
;(function() {
let str = 'モジュールの変数';
function func() {
alert('モジュールの関数');
}
})();
// ここではモジュールの変数や関数はアクセス不可です:
alert(str);
alert(func);