第五章:集合

结构化的集合与数据访问对于任何JS程序来说都是一个关键组成部分。从这门语言的最开始到现在,数组和对象一直都是我们创建数据结构的主要机制。当然,许多更高级的数据结构作为用户方的库都曾建立在这些之上。

到了ES6,最有用(而且优化性能的!)的数据结构抽象中的一些已经作为这门语言的原生组件被加入了进来。

我们将通过检视 类型化数组(TypedArrays) 来开始这一章,技术上讲它与几年前的ES5是同一时期的产物,但是仅仅作为WebGL的同伴被标准化了,而不是作为JavaScript自身的一部分。到了ES6,这些东西已经被语言规范直接采纳了,这给予了它们头等的地位。

Map就像对象(键/值对),但是与仅能使用一个字符串作为键不同的是,你可以使用任何值 —— 即使是另一个对象或map!Set与数组很相似(值的列表),但是这些值都是唯一的;如果你添加一个重复的值,它会被忽略。还有与之相对应的weak结构(与内存/垃圾回收有关联):WeakMap和WeakSet。