24.WeakMap

WeakMap

WeakMap 是 Map 的弱引用,它也是在 Map 的基础上有了一些限制和自己的特性。

  • 没有 size 属性
  • 不能循环,没有 clear 方法
  • key 只能是对象
  • 如果元素在其他的地方没有再引用的话,垃圾回收机制会自动清理元素
let dp = {name:dp};
let tms = {name:tms};

const strong = new Map();
const weak = new WeakMap();

strong.set(dp , 'dp is best');
weak.set(tms , 'tms is beautiful');

几种使用场景

  • 当属性一定只能是对象的时候
  • 当数据不可用,希望集合中相关的引用和数据都会被自动回收,以达到优化内存的目的
  • 需要对数据进行循环,或获取集合数量的时候最好还是用 map

你可能感兴趣的:(24.WeakMap)