1.知识储备:js垃圾回收机制(GC)
(1)自动完成,不能强制执行或者阻止执行
(2)当对象使可达状态时候,它一定使存在内存中的
(3)被引用与可访问不同:一组相互连接的对象可能整体都是不可达的
2.WeakMap()与WeakMap()与map与set的本质不同: 不阻止GC对键对象的回收
(1)键必须为对象,不能是原始值
(2)不支持迭代,不支持keys(),values(),entries()。无法一次获取所有键和值
原因:对象丢失引用之后,从技术角度不能准确知道该对象被回收的时间
3.应用场景
(1)网站统计用户访问内部页面次数计数
(2)cache缓存自动清除
(3)追踪访问过网站的用户