ES6:Map() 与 WeakMap()

Map()WeakMap() 其实与 Set()WeakSet() 的方法与特性大致相同,这里只是来说一下他们的不同

关于Set() 与 WeakSet() :ES6:Set() 与 WeakSet()

新建一个Map()

const people = new Map([['Tom', 18], [ 'Jerry', 21],  ['Mario', 25]]);

可以明显看出来MapSet的区别就是Map所存储的是键值对一样的数据,如果把Set比作是数组的改进,那么Map就是对象的改进
在控制台打印它:
ES6:Map() 与 WeakMap()_第1张图片
可以明显看出它的成员都是键值对出现的,这里的key不是索引,而是每个键值对的键名

这里的clear(),delete(),has(),size,forEach()等等方法及属性以及特性与Set相同,同样WeakMap与WeakSet也一样,不做过多说明,可以查看:ES6:Set() 与 WeakSet()

set()

Map不具备 add() 方法,取而代之的是 set() 方法:
ES6:Map() 与 WeakMap()_第2张图片
key可以是任意类型的数据,比如是空对象:
ES6:Map() 与 WeakMap()_第3张图片

get()

get()Map所特有的,他可以通过查找键名返回其对应的键值
在这里插入图片描述

你可能感兴趣的:(#,es6,web前端)