各位好,我是今天的主讲人,咱们今天聊聊JavaScript里一个有点“神秘”但又挺有用的家伙:WeakRef。这玩意儿啊,就像一个默默守护的备胎,在你需要的时候能帮你一把,但又不会强行霸占你的内存。我们今天要讲的就是如何利用它实现一个可观察的对象引用,以及它在缓存管理中的妙用。
开场白:不再害怕的垃圾回收器
在JavaScript的世界里,我们大部分时候都活得很潇洒,内存分配和回收的事情,统统交给V8引擎里的垃圾回收器(Garbage Collector, GC)去操心。但是,有时候,我们又不得不担心:如果我创建了一个对象,并把它放到了某个地方,GC会不会把它回收掉?如果回收了,我下次再去拿的时候,岂不是要报错?
这就是WeakRef要解决的问题。它允许我们创建一个指向对象的 弱引用 。这意味着,这个引用不会阻止GC回收该对象。如果对象被回收了,WeakRef会告诉你一声。
WeakRef:一个窥视对象的窗口
WeakRef 就像一扇窗户,你可以通过它 看到 对象,但你 不能阻止 对象被回收。
基本用法:
首先,我们来创建一个WeakRef:
const myObject = { name: "张三", age: 30 };
const weakRef = new
订阅专栏 解锁全文
120

被折叠的 条评论
为什么被折叠?



