weakMap对标的数据类型也就是对象类型 => 和map一样都是存储的键值对
优势
- 更加优雅&灵活的api用于增删改查
- 不会触发原型链的查找
基本使用
weakMap存储的是弱类型的key(引用类型),而map则可以存储基本类型作为key
如上图所示weakMap不能存值类型作为key,map可以,个人理解弱类型就是对象,函数所以函数作为key也是可以的
不会发生内存溢出
一个简单的例子
weakMap是弱引用,一但函数执行完垃圾回收就会把obj2回收,从内存中移除了,所以无法从weakMap获取到obj2,一但垃圾回收机制回收了,就无法获取到对应的键和值了
map依旧可以获取到键和值
weakMap已经无法获取到键和值了,因为已经被垃圾回收了