前言
欢迎你,体操家!本文将从实用角度出发,介绍 TypeScript 中的许多可能不为人所知的理论和特性,希望能够通过这种方式尽可能地抹平我们关于 TypeScript 的一些进阶知识和技巧的信息差,并启发我们使用 TypeScript 解决生产实践中的一些看似无法解决的类型问题。
本文不是所谓的「类型体操」指南。在介绍各种内容时,我会侧重于揭露它的生产价值。我不会涉及很多理论价值高于生产价值的高级技巧,例如使用类型系统写一个正则表达式的 Parser,或者是写一个五子棋游戏。
欢迎各位读者共同建设本文。如果你发现了表述不正确的地方,或者有一些好的 good idea,欢迎发表 issue。如果你觉得本文写得不错,欢迎转发和 star 哦!
目录
本文被我发表在了 GitHub 上,欢迎前往阅读!
参考资料
本文的内容部分参考了下面的文章或书籍,没有它们的作者们的贡献就没有这篇文章。
- Handbook - The TypeScript Handbook
- The type hierarchy tree
- https://twitter.com/mattpocockuk
- Transform Any Union in TypeScript with the IIMT
- Effective TypeScript by Dan Vanderkam