closure



  • 一般関数では、実行終了後に内部変数は使用できません.外部関数の実行が完了しても、モジュールは外部関数の変数をメモリに格納します.(語彙環境がメモリに格納されているためかもしれません)

  • Closer関数は「関数を返す関数」です.関数を返す関数はモジュールの形状を形成します.

  • このモジュールの核心は、スキャンを使用して変数のアクセス範囲(closure;closure)を閉じることである.

  • 内部関数は、外部関数で宣言された変数にアクセスできます.

  • 返される関数は、宣言された周囲の語彙環境に外部関数の変数を含むためです.

  • Closer関数(「外部関数コンテキストにアクセス可能な内部関数」)

  • エンクロージャモードでは、メモリに保持されます.外部関数のスキャンはいつでも内部関数に参照されるからです.したがって、エンクロージャを大量に使用すると、パフォーマンスが低下する可能性があります.
  • const tagMaker = tag => content => `<${tag}>${content}</${tag}>`
    
    const div = tagMaker('div');
    div('Hello world!'); // <div>Hello world!</div>
    
    const section = tagMaker('section');
    section('This is newsfeed section.'); // <section>This is newsfeed section.</section>
  • のようなモジュールは、通常、再使用のためにモジュール化される.