[JavaScript]設計モード#モジュール


この項では、モジュールモードについて説明します.インスタント実行関数、エンクロージャ、スキャンプログラムの概念を理解している場合は、IIFE(インスタント関数式)またはモジュールモードと呼ばれる設計モードをすぐに理解できます.
const module = (function() {
  let x = 0; // 즉시 실행함수를 활용해 비공개 변수를 생성합니다.
  
  return {
    y() { // 외부에서 접근 가능한 프로퍼티입니다.
      return x++;
    }
  }
})()

console.log(module.y()); // 0
console.log(module.y()); // 1
console.log(module.y()); // 2
console.log(module.y()); // 3
console.log(module.y()); // 4
実行関数がすぐに呼び出されても、返されたオブジェクトはx変数にアクセスできます.これは、返されるオブジェクトのディレクトリ環境とインスタント実行関数がモジュールを構成しているためです.
オブジェクトはインスタント実行関数としてスキャンチェーンに沿って上に移動し、変数xを参照します.これにより、ゴミ収集器はメモリを回収せず、変数オブジェクトを保持します.
これらのモードをモジュールモードと呼ぶ.