Skip to content

WeakRef

WeakRef 是一个 Class,一个 WeakRef 对象可以让你拿到一个对象的弱引用。这样,就可以不用阻止垃圾回收这个对象了。 可以使用其构造函数来创建一个 WeakRef 对象。

js
// anObject 不会因为 ref 引用了这个对象,而不会被垃圾回收
let ref = new WeakRef(anObject);

我们可以用 WeakRef.prototype.deref()来取到 anObject 的值。但是,在被引用对象被垃圾回收之后,这个函数就会返回 undefined。

js
// 如果 someObj 被垃圾回收了,则 obj 就会是 undefined
let obj = ref.deref();