ES6+ WeakMap
1. 前言
前面我们已经学了 Set 和对应的 WeakSet,Map 对应也有 WeakMap,在学习 WeakSet 时我们已经接触到弱引的相关知识,本节我们将结合 WeakMap 深入的理解 弱引用 的相关问题。
由前面学到的 Set 和 WeakSet 具有很多相似的地方,比如它们存放的都是独一无二的元素。所以,对 Map 和 WeakMap 也可以进行类比,WeakMap 中也存放的是键值对。不同的是 WeakMap 的 key 只能是对象,值可以是任意类型的,和 WeakSet 一样 WeakMap 对 key 的引用是 弱引用 。
2. WeakMap 基本 用法
WeakMap 像 Map 一样可以接受 一个 二维数组进行初始化。
var wm = new WeakMap ( [ [ { name : 'imooc' } , 'imooc' ] , [ { name : 'lesson' } , 'ES6 Wiki' ] ] ) console . log ( wm ) @H_ 403 _85@
上面的 代码 打印结果如下:
从打印的结果可以大概了解 WeakMap 的存储方式,WeakMap 的实例本来就是 一个 对象。
WeakMap 只提供了四个 方法 用于操作数据。
方法 名 描述 set 接收键值对,向 WeakMap 实例中 添加 元素 get 传入指定的 key 获取 WeakMap 实例上的值 has 传入指定的 key 查找在 WeakMap 实例中是否存在 delete 传入指定的 key 删除 WeakMap 实例中对应的值
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did91798