我正在学习weakMaps、weakSets 和weakRefs 的用例。
我遇到了这样写的代码:
{
const x = {
a: [1, 2]
};
var weakMap = new WeakMap();
weakMap.set(x, 'something');
}
console.log(weakMap);
注意:请在运行代码段后查看控制台。
大多数情况下,当我运行这段代码时,我会在weakMap 中获取密钥x。
但是有几次,当我使用相同的代码时,我注意到了weakMap。背后的原因是什么?
我正在看这个视频学习。
WeakMap 中包含上述 JS 代码(Codepen)的数据。
上面的 JS 代码中没有数据的 WeakMap(JSFiddle,我只能在 JSFiddle 内重现一次)。
垃圾收集是不可预测的吗?我想知道您是否曾经在实际编码中使用过weakSet、weakMap 或WeakRef。你是在什么情况下使用的?