map 保存键值对,并且能够记住键的原始插入顺序,任何值(对象或者基本类型)都可以作为一个键或一个值
- 基本方法有 get, set, has, delete, clear
- 长度 .size
- 迭代 keys, values, extries, forEach
- 可以使用for ...of 迭代
- 任何值(对象或者基本类型)都可以作为一个键或一个值
weakmap满足map的一切条件,但是
- 基本方法有get, has, set, delete
- 没有clear方法
- 不能通过size获取长度
- 不可以使用for...of迭代
- 键 只能是对象,值可以是任意类
- 相比map, weakmap有利于垃圾回收,参考
更多内容,请参考官方文档
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Maphttps://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Map
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/WeakMaphttps://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/WeakMap
其实在实际开发过程中,一般的需求我们用object就能满足,map用的比较少!