madfour / blog-docs

一个备忘录罢了
https://madfour.cn
MIT License
5 stars 0 forks source link

介绍Set、Map、WeakSet、WeakMap #5

Open madfour opened 3 years ago

madfour commented 3 years ago

set、map、weakSet、weakMap 总结

Set

Map

Set 和 Map 的遍历方法:都可使用keys()values()entries()forEach()配合for...of循环遍历。

WeakSet

WeakMap

WeakMap 中,每个键对自己所引用对象的引用都是弱引用,在没有其他引用和该键引用同一对象,这个对象将会被垃圾回收(相应的key则变成无效的),所以,WeakMap 的 key 是不可枚举的。

madfour commented 3 years ago

set、map、weakSet、weakMap

1、Set

Set对象允许你存储任何类型的值,无论是原始值或者是对象引用。它类似于数组,但是成员的值都是唯一的,没有重复的值。

2、WeakSet

WeakSet 对象允许你将弱引用对象储存在一个集合中。(弱引用的Set)


3、Map

Map对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。构造函数Map可以接受一个数组作为参数。

4、WeakMap

WeakMap 对象是一组键值对的集合,其中的键是弱引用对象,而值可以是任意

注意,WeakMap 弱引用的只是键名,而不是键值。键值依然是正常引用。

WeakMap 中,每个键对自己所引用对象的引用都是弱引用,在没有其他引用和该键引用同一对象,这个对象将会被垃圾回收(相应的key则变成无效的),所以,WeakMap 的 key 是不可枚举的。

WeakMap 应用的典型场合就是 DOM 节点作为键名。另一个用处是部署私有属

madfour commented 3 years ago

扩展

Map 和 Object 的区别