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集合
內部存儲地址不會影響垃圾回收,等待垃圾回收。