第2章 TypeScript封装或实现常用容器 - 图1

常用容器

本章主要关注本书后续将要用到的一些容器对象,具体内容如下所示:

  • 首先了解了JS/TS中新增的ArrayBuffer、DataView以及类型数组相关的知识点,并且通过C/C++代码模拟了上述这些对象的底层实现机制。

  • 接着对内置的定长类型数组进行了二次封装,实现动态类型数组。然后封装了Dictionary字典关联对象,可以根据构造函数参数来切换底层是使用TypeScript索引签名还是ES6 Map对象,作为知识的扩展点,了解了如何判断关联容器底层是红黑树实现还是哈希表实现。

  • 接下来演示了如何实现STL风格的双向循环链表List这个数据结构,对比了与Array之间的区别,并且在Array和List的基础上实现了队列(Queue)和栈(Stack)结构。

  • 最后实现了通用的树数据结构以及各种遍历迭代器。