第 53 期 - 从 checker.ts 看 TS 源码中的特殊实践与 JS 对 TS 演进的影响
logoFRONTALK AI/12月15日 16:31/阅读原文

摘要

分析了 TS 源码中 checker.ts 文件的一些特殊实践,如低配版 named parameters、大量使用 var 等,探讨了 JS 对 TS 演进的限制以及相关性能问题。

1. 五万行 all - in - one 的 checker.ts

这部分主要介绍了 checker.ts 这个文件,它将 TS 完整类型系统 5.2 万行逻辑写在一个 TS 文件里,文件大小达 2.92MB。这看起来很暴力,但作者经过查阅资料和阅读实现后有了一些思考并记录下来。

2. 低配版 named parameters

3. 能用 number 尽量 number

4. 无限制使用 const enum

5. ESM/CJS 的性能问题:尤其是 export 导出特别多的时候

6. ESM 没有 private 导出

7. TS 甚至大量使用 var,而不是用 let 和 const

8. 往 String.prototype.xxx 上注入东西

9. 无类编程,推崇组合编程

10. 怎么没有用「表驱动」这种所谓的常用「前端设计模式」?

11. 基本没有 try - catch

12. 文件多才是大问题 —— 可惜了半成品的 TS namespace

13. 最后来个暴论:JS 已经严重影响 TS 的演进了

 
Made by 捣鼓键盘的小麦 / © 2025 Front Talk 版权所有