Skip to main content
Map 与 WeakMap

Map 与 WeakMap

Map 映射表

在MDN上是这么描述 Map 的:

该Map对象保存键值对并记住键的原始插入顺序。任何值(对象和 原始值)都可以用作键或值。

说到键值对形式的数据格式,我会很容易联想到数组(Array)对象(Object),我们先来看一下它的区别

/**
 * Array
 * 在 javascript 中数组是一组数据的集合,并且可进行迭代的
 * key 必须为number,从 0 开始依次递增,
 * vaule 可以为任何类型
 */
const array = new Array([a,b,c,d,e])
console.log(array[0]); // a
array.forEach((value,key)=>{
  console.log(value+' => '+key + ', ');
}) // 0 => a, 1 => b, 2 => c, 3 => d, 4 => e

/**
 * Object
 * 在 javascript 中对象是一组属性的集合,不能进行迭代
 * key 必须为string,通常我们称它为属性名
 * vaule 可以为任何类型
 */
const object = new Object({
  name: 'aaa'
})
console.log(object.name); // aaa
object.forEach((value,key)=>{
  console.log(key+' => '+value + ', ');
})// Error 因为Object不可以进行迭代

NANAbout 4 minJavascript/Typescriptes6