20.ゴミ収集


この内容は、モダンJavaScriptのブログの学習と整理です.
>モダンJavaScript
符号化の過程で多くの変数とオブジェクトを作成した.
以前に作成したデータが後で使用できない場合は、パフォーマンスに悪影響を及ぼすデータが山積みになります.
そこで、JavaScriptでは、肉眼では見えない場所でメモリ管理を行います.가비지 컬렌션と呼ばれています

きじゅん

자바스크립트는 도달 가능성이라는 개념을 사용해 메모리 관리를 수행한다 도달 가능한 값は、近接または使用可能な値である.
理由がなければ、これらの値は削除されません.
  • 関数で使用される領域変数およびパラメータ
  • 高次関数で使用される変数とパラメータ
  • グローバル変数
  • オブジェクトで参照される他のオブジェクト
  • 次の例では、ゴミ収集器がどこで使用されるかを示します.
    let user = {
      name: 'jiun'
    };

    上のコードにはuserという変数参照オブジェクトがあります.
    ただし、ここでuser変数にnullを指定すると、参照されるオブジェクトは使用されなくなり、JavaScriptはメモリからデータを削除します.

    2つの参照

    let user = {
      name: 'quakka'
    }
    
    let guest = user;
    user = null;
    前に示したように、1つのオブジェクトに2つの変数参照がある場合:
    1つの参照が失われても、別の参照からアクセスできます.
    これは도달가능한 값で、メモリから削除されません.


    リンクされたオブジェクト

    function marry(man, woman) {
      woman.husband = man;
      man.wife = woman;
    
      return {
        father: man,
        mother: woman
      }
    }
    
    let family = marry({
      name: "John"
    }, {
      name: "Ann"
    });
    「mary」関数は、2つのオブジェクトを受信し、互いに参照して「結婚」し、新しいオブジェクトを返して2つのオブジェクトを陥れる.

    現在、どのオブジェクトにもアクセスできるようになりました.合計도달가능한 값と言えます.
    2つの参照を削除すると
    delete family.father;
    delete family.mother.husband;
    2つを削除することにより、Jognに入る参照は消え、도달가능한 값の状態から抜け出す.

    ゴミ収集器はメモリから値を削除します.
    これらのゴミ収集器はメモリの面で手間を省くことができます.