标签:ali 数值 存在 each 对象 style 函数 bsp value
WeakMap
结构与Map
结构类似,用于生成键值对的集合。// WeakMap 可以使用 set 方法添加成员
const wm1 = new WeakMap();
const key = {foo: 1};
wm1.set(key, 2);
wm1.get(key) // 2
// WeakMap 也可以接受一个数组,
// 作为构造函数的参数
const k1 = [1, 2, 3];
const k2 = [4, 5, 6];
const wm2 = new WeakMap([[k1, ‘foo‘], [k2, ‘bar‘]]);
wm2.get(k2) // "bar"
WeakMap
与Map
的区别 WeakMap
只接受对象作为键名(null
除外),不接受其他类型的值作为键名const map = new WeakMap();
map.set(1, 2) // 如果将数值1
和Symbol
值作为 WeakMap 的键名,都会报错
// TypeError: 1 is not an object!
map.set(Symbol(), 2)
// TypeError: Invalid value used as weak map key
map.set(null, 2)
// TypeError: Invalid value used as weak map key
keys()
、values()
和entries()
方法),也没有size
属性 const wm = new WeakMap();
// size、forEach、clear 方法都不存在
wm.size // undefined
wm.forEach // undefined
wm.clear // undefined
标签:ali 数值 存在 each 对象 style 函数 bsp value
原文地址:https://www.cnblogs.com/blogZhao/p/12564263.html