ECMAScript 的 WeakMap 是一种特殊的 Map 结构,它具有一些独特的特点:
弱引用(Weak References):
不可枚举:
for...of 循环、WeakMap.prototype.keys()、WeakMap.prototype.values() 或 WeakMap.prototype.entries() 方法来遍历 WeakMap。没有 size 属性:
size 属性,因此你不能直接获取 WeakMap 中键值对的数量。不支持 clear() 和 delete() 方法:
clear() 方法来清空所有键值对,也不支持 delete() 方法来删除特定的键值对。这是因为 WeakMap 的设计目的是为了提供一种不会阻止垃圾回收的映射方式。保持键的私有性:
性能考虑:
WeakMap 的这些特点使其非常适合用于那些需要关联额外数据但又不想阻止垃圾回收的场景,例如缓存计算结果、私有属性存储等。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。