StoyanStefanov
2021年05月03日入驻
合计 2
个作品
累计 46.5
万字
共有 1
订阅
-
35. 异步编程的 Promise
在本章中,我们将探索 Promise,另一种交付异步结果的模式。本章建立在前一章的基础上,以JavaScript异步编程为背景。 -
31. WeakSets
WeakSets 与 Sets 类似,但有以下区别:
1. 它们可以保存对象,而不会阻止这些对象被垃圾收集。
2. 它们是黑盒子:如果你同时拥有 WeakSet 和一个值,你只能从 WeakSet 中获取任何数据。支持的唯一方法是.add(),.delete(),.has()。有关为什么 WeakSets 不允许迭代,循环和清除的原因,请参考 WeakMaps 部分作为黑盒。
鉴于您无法迭代其元素,WeakSets 的用例并不多。它们可以让您标记对象。 -
30. 集合
在 ES6 之前,JavaScript 没有集合的数据结构。相反,使用了两种解决方法:
1. 对象的键作为字符串集。
2. 数组作为任意值的集合(例如,通过.includes()检查元素是否在集合中),缺点是元素检查缓慢。
ECMAScript 6 具有数据结构Set,适用于任意值且具有快速执行元素检查。 -
29. WeakMaps
WeakMaps 与 Maps 类似,但有以下区别:
1. 它们可用于将数据附加到对象,而不会阻止这些对象被垃圾回收。
2. 它们是黑盒子,只有拥有 WeakMap 和密钥才能访问值。
接下来的两节将更详细地研究这意味着什么。
前一页
后一页