ES6 Map

Map 对象

Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。

Maps 和 Objects 的区别

  • 一个 Object 的键只能是字符串或者 Symbols,但一个 Map 的键可以是任意值。
  • Map 中的键值是有序的(FIFO 原则),而添加到对象中的键则不是。
  • Map 的键值对个数可以从 size 属性获取,而 Object 的键值对个数只能手动计算。
  • Object 都有自己的原型,原型链上的键名有可能和你自己在对象上的设置的键名产生冲突。

Map 中的 key

key 是字符串

ES6 Map

 key 是对象ES6 Map

key 是函数 

ES6 Map

 key 是 NaN

ES6 Map

虽然 NaN 和任何值甚至和自己都不相等(NaN !== NaN 返回true),NaN作为Map的键来说是没有区别的。

Map 的迭代

对 Map 进行遍历,以下两个*。

for...ofES6 Map

 forEach()

ES6 Map

 Map 对象的操作

Map 与 Array的转换

ES6 Map

 Map 的克隆ES6 Map

 Map 的合并ES6 Map

 

上一篇:变量类型与计算


下一篇:PHP-Zend_Validate_StringLength编码?