6

WeakMap の説明を読んでいたところ、次のように書かれていました。

ネイティブの WeakMap では、主要なオブジェクトへの参照は「弱く」保持されます。つまり、オブジェクトへの参照が他にない場合でも、ガベージ コレクションは妨げられません

これを読んで、JavaScript のガベージ コレクションを利用しようとしている場合に WeakMap が使用されていることがわかりました。私が根本的に理解していないのは、私が太字にした行です。

通常の Map では、それらへの参照を持たないオブジェクトがガベージ コレクションされないのはなぜですか? これにはどのような利点がありますか?通常のマップから明示的に削除する必要がありますか?

4

2 に答える 2

2

「通常の Map では、オブジェクトへの参照を持たないオブジェクトがガベージ コレクションされないのはなぜですか?」マップ自体がオブジェクトへの参照を持っているためです。参照がある限り、オブジェクトは gced されません。- フェリックス・クリング

于 2018-02-20T13:24:11.763 に答える