解答
WeakSet 只支持 add,has 和 delete 方法
·WeakSet.add(value):向 WeakSet 实例添加一个新元素
·WeakSet.delete(value):清除 WeakSet 实例的指定元素
·WeakSet.has(value):返回一个布尔值,表示某个值是否在
// WeakSet add has delete方法
const weakset = new WeakSet();
const arr = ["hdcms"];
//添加操作
weakset.add(arr);
console.log(weakset.has(arr)); // true
//删除操作
weakset.delete(arr);
//检索判断
console.log(weakset.has(arr)); // false
WeakSet 中的对象都是弱引用,如果其他对象都不再引用 WeakSet 集合中的对象,那么垃圾回收机制会自动回收该对象所占用的内存,不考虑该对象还存在于 WeakSet 之中
通过定时器来查看,当 WeakSet 里的对象无引用时,则会被浏览器垃圾回收
const weakset = new WeakSet([['jsx']]);
console.log(weakset);
setTimeout(() => {
console.log(weakset); // WeakSet {}
}, 100);
帖子还没人回复快来抢沙发