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集合內部存儲地址不會影響垃圾回收,等待垃圾回收。
在這裏插入圖片描述

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