es6中Map和WeakMap集合上的垃圾收集

m0m*_*eni 6 javascript dictionary garbage-collection weakmap ecmascript-6

我正在阅读WeakMap的描述,它说:

在本机WeakMaps中,对关键对象的引用保持"弱",这意味着它们不会阻止垃圾收集,以防没有对该对象的其他引用.

通过阅读本文,我的理解是WeakMaps用于您试图利用JavaScript的垃圾收集的实例.从根本上我不明白的是我加粗的那条线.

为什么在普通的Map中,没有引用它们的对象不会被垃圾收集?这有什么好处,我是否必须从普通地图中明确删除?

m0m*_*eni 2

“为什么在普通的 Map 中,没有引用的对象不会被垃圾收集?” 因为地图本身有对该对象的引用。只要存在引用,该对象就不会被gced。——菲利克斯·克林