微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

了解这个 JS WeakRef polyfill 实现

如何解决了解这个 JS WeakRef polyfill 实现

我遇到过这个 WeakRef polyfill:ungap / weakrefs

我正在努力理解它是如何工作的,尤其是在第 11-14 行:

var wr = new WeakMap;
function WeakRef(value) {
    wr.set(this,value);
}

所以有一个全局 WeakMap wr

还有一个类似构造函数函数 WeakRef,它接受​​一个 value 并将其存储在 wr 中,使用 this (the resulting object) 作为键。>

我的理解是 wr 全局 WeakMap 在删除键之前不会删除插入的 value在这种情况下,键是生成的 WeakRef 对象。

所以在创建的 WeakRef 被删除之前,value 不会被允许被 GC 处理。

这不会使 polyfill 成为参考吗?

解决方法

It really is strong reference.

为什么他们不能在自述文件中提到这一点。或者至少让这个问题保持开放??

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。