JavaScript中的弱映射、迭代器与生成器
弱映射的使用与限制
在决定使用弱映射(Weak Map)还是普通映射(Regular Map)时,主要考虑是否仅使用对象作为键。若仅使用对象键,弱映射是最佳选择,它能优化内存使用,避免内存泄漏,确保数据不可访问时不被保留。
不过,弱映射对其内容的可见性极低,不能使用 forEach() 方法、 size 属性或 clear() 方法管理项。若需要检查功能,普通映射更合适,但要留意内存使用情况。若只想使用非对象键,普通映射是唯一选择。
集合与映射概述
ECMAScript 6正式将集合(Sets)和映射(Maps)引入JavaScript。此前,开发者常用对象模拟集合和映射,常因对象属性的限制而遇到问题。
- 集合(Sets) :是唯一值的无序列表。若值根据 Object.is() 方法不等价,则被视为唯一。集合会自动移除重复值,可用于过滤数组中的重复项。不能随机访问集合的值,可使用 has() 方法判断值是否存在,用 size 属性检查值的数量,还可使用 forEach() 方法处理每个值。
- 弱集合(Weak Sets) :是特殊集合,只能包含对象。对象以弱引用存储,若弱集合中的项是对象的唯一引用,不会阻止垃圾回收。由于内存管理复杂,无法检查弱集合的内容,最好用于跟踪需要分组的对象。
-
超级会员免费看
订阅专栏 解锁全文
1131

被折叠的 条评论
为什么被折叠?



