weakMap

73 阅读1分钟

weakMap对标的数据类型也就是对象类型 => 和map一样都是存储的键值对

优势

  • 更加优雅&灵活的api用于增删改查
  • 不会触发原型链的查找

基本使用
image.png
weakMap存储的是弱类型的key(引用类型),而map则可以存储基本类型作为key
image.pngimage.png
如上图所示weakMap不能存值类型作为key,map可以,个人理解弱类型就是对象,函数
image.png所以函数作为key也是可以的

不会发生内存溢出

一个简单的例子
image.pngimage.png
weakMap是弱引用,一但函数执行完垃圾回收就会把obj2回收,从内存中移除了,所以无法从weakMap获取到obj2,一但垃圾回收机制回收了,就无法获取到对应的键和值了
map依旧可以获取到键和值
weakMap已经无法获取到键和值了,因为已经被垃圾回收了