试题
考点

js语言和框架-ES和TS-Set\Map\WeakMap\WeakSet

面5笔5

简述WeakSet方法与垃圾回收

前往“校招VIP”小程序,刷题更快
最新校招难题刷题,快来进刷题群吧
解答

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);

评论
暂无评论

加载更多