TypechoJoeTheme

至尊技术网

统计
登录
用户名
密码
搜索到 1 篇与 的结果
2025-07-29

JavaScript的WeakSet:弱引用集合的深度解析

JavaScript的WeakSet:弱引用集合的深度解析
一、什么是WeakSet?WeakSet是ES6引入的一种特殊集合类型,与常规Set不同,它专门用于存储对象引用且持有的是弱引用。这意味着当对象没有被其他强引用时,会被垃圾回收机制自动回收,即使它仍存在于WeakSet中。javascript const weakSet = new WeakSet(); let obj = { id: 1 }; weakSet.add(obj); console.log(weakSet.has(obj)); // trueobj = null; // 取消强引用 // 垃圾回收后weakSet自动清除该对象二、WeakSet的核心特性 仅存储对象类型试图添加原始值(如字符串、数字)会直接抛出TypeError: javascript new WeakSet().add(1); // TypeError: Invalid value used in weak set 不可迭代没有size属性,也不支持forEach()、keys()等方法,这是因其弱引用特性决定的。 自动内存回收当对象外部引用消失时,WeakSet不会阻止垃圾回收: javascr...
2025年07月29日
37 阅读
0 评论