WeakSet集合和WeakMap集合

WeakSet集合WeakMap集合分别和Set集合Map集合对应,在WeakSet集合WeakMap集合中内部储存地址不会影响垃圾回收,而且不是一个可迭代函数。

在使用Set集合时,当添加的时候是一个对象时,删除对象,Set集合中值仍存在,Map集合也一样。

let obj = {
    name: "jack",
    age: 18
}
const set = new Set();
set.add(obj);
obj = null;
console.log(obj, set)

在这里插入图片描述

WeakSet

WeakSet集合Set集合的功能一样,但是只能添加对象。

let obj = {
    name: "jack",
    age: 18
}
const set = new WeakSet();
set.add(obj);
obj = null;
console.log(obj, set)

在这里插入图片描述
使用WeakSet集合内部存储地址不会影响垃圾回收,等待垃圾回收。
在这里插入图片描述


WeakMap

WeakMap集合Map集合的功能一样,键名只能对象

let obj = {
    name: "jack",
    age: 18
}
const map = new WeakMap();
map.set(obj, 123);
obj = null;
console.log(map)

在这里插入图片描述
使用WeakMap集合内部存储地址不会影响垃圾回收,等待垃圾回收。
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章