总结
- 使用 new 关键字和 Map 构造函数可以创建一个空映射: const m = new Map();
- 给 Map 构造函数传入一个可迭代对象,需要包含键/值对数 组。
- map的属性,set()方法再添加键/值对,使用 get()和 has()进行查询,通过 size 属性获取映射中的键/值对的数量,使用 delete()和 clear()删除值。
- 顺序与迭代,可以用entries方法,keys方法,values方法,调用forEach方法
- 选择 Object 还是 Map,如果只需要查找功能用object,其它情况用Map
- WeakMap 是 Map 的“兄弟”类型,其 API 也是 Map 的子集。WeakMap 中的“weak”(弱), 描述的是 JavaScript 垃圾回收程序对待“弱映射”中键的方式。
- WeakMap弱映射中的键只能是 Object 或者继承自 Object 的类型,尝试使用非对象设置键会抛出 TypeError。值的类型没有限制。
- WeakMap使用 set()再添加键/值对,可以使用 get()和 has()查询,还可以使用 delete() 删除
- WeakMap的键不会阻止垃圾机制回收
- WeakMap不能迭代,WeakMap 中的键/值对任何时候都可能被销毁,所以没必要提供迭代其键/值对的能力。当然, 也用不着像 clear()这样一次性销毁所有键/值的方法。
- WeakMap 实例之所以限制只能用对象作为键,是为了保证只有通过键对象的引用才能取得值。如果 允许原始值,那就没办法区分初始化时使用的字符串字面量和初始化之后使用的一个相等的字符串了。
- WeakMap的作用,