Map:
- Map 是一组键值对的结构,具有极快的查找速度。
- 初始化 Map 需要一个二维数组,或者直接初始化一个空 Map。
var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);
- 一个 key 只能对应一个 value,所以,多次对一个 key 放入 value,后面的值会把前面的值冲掉
- Map 方法:set、get、delete、has、keys、values 等
- 可遍历(iterable 类型) for...of / forEach (forEach 是 iterable 内置的方法)
Set:
- 是一组 key 的集合,不存储 value,key 不能重复
- 创建一个 Set,需要提供一个 Array 作为输入,或者直接创建一个空 Set
js var s1 = new Set(); var s2 = new Set([1, 2, 3]);
- 方法: add、delete、has、size、clear
- 可遍历(iterable 类型) for...of / forEach (forEach 是 iterable 内置的方法)
WeakMap:
- WeakMap 对象是一组键/值对的集合,其中的键是弱引用的。其键必须是对象,而值可以是任意的;
- 不可遍历
WeakSet:
- 成员都是对象(引用);
- 成员都是弱引用,随时可以消失
- 不能遍历