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集合
内部存储地址不会影响垃圾回收,等待垃圾回收。