老师,我在网上看到关于弱引用的描述:
强引用,即使将obj 设为null,但target仍然引用之前的内存,因此这部分内存依然无法被释放:
let obj = { name : 'ConardLi'};
const target = new Map();
target.set(obj,'code秘密花园');
obj = null;弱引用,当下一次垃圾回收机制执行时,这块内存就会被释放掉:
let obj = { name : 'ConardLi'};
const target = new WeakMap();
target.set(obj,'code秘密花园');
obj = null;但是我感觉不到这里使用WeakMap的必要性,map定义在函数中,函数执行完毕后引用map的变量会被销毁,因此应该不会造成内存泄露的。