《TypeScript Deep Dive》:掌握TypeScript的终极指南
《TypeScript Deep Dive》是一本全面且深入的TypeScript学习资源,由经验丰富的开发者Basarat编写。这本书不仅是TypeScript新手的理想入门读物,也是资深开发者深化知识的宝库。通过详尽的代码示例和精确的技术解析,Basarat带领读者一步步探索TypeScript的核心概念,包括类型系统、接口、类、泛型等。书中的内容基于真实世界的问题和常见的编程挑战,旨在提供实用的解决方案和最佳实践。此书已获得广泛好评,被读者誉为“最佳TypeScript书籍”,并因其清晰的示例和解释而受到赞赏。无论是快速启动项目,还是深入理解TypeScript的高级特性,《TypeScript Deep Dive》都是不可或缺的资源。
深入理解 TypeScript
本系列内容源自 jkchao/typescript-book-chinese,是对 《TypeScript Deep Dive》 的中文译作, 此书是 《TypeScript Deep Dive》 的中文翻译版,感谢作者 Basarat 的付出。
缘起
TypeScript 发展至今,已经成为大型项目的标配,其提供的静态类型系统,大大增强了代码的可读性以及可维护性;同时,它提供最新和不断发展的 JavaScript 特性,能让我们建立更健壮的组件。
《TypeScript Deep Dive》 是一本很好的开源书,从基础到深入,很全面的阐述了 TypeScript 的各种魔法,不管你是新手,还是老> 鸟,它都将适应你。此外,它不同于 TypeScript 官方给出的文档(当然 TypeScript 给出的文档是很好的),在此书中,结合实际应用下的场景用例,你将能更深入的理解 TypeScript。
如今社区已经存在部分翻译,但都似乎已经停止更新。
于是在某天的某个冲动之下,这个 RP 就诞生了。
翻译内容
《TypeScript Deep Dive》 书中包含一部分 JavaScript Future 和一些其他的内容,在这里,我们并不打算翻译它,如果你有兴趣,可以查看原书中 JavaScript Future 的有关章节。
由于 TypeScript 更新频繁,在此书中,我也将加入一些原书中并没有涉及到的知识点,希望和大家相互学习,一起进步。
此外,在不违背原作者本意前提下,为了更直观的表达,部分内容将采用意译,而非直译。
目录
TypeScript 项目
TypeScript 类型系统
- 概览
- 从 JavaScript 迁移
- '@types'
- 环境声明
- 接口
- 枚举
- lib.d.ts
- 函数
- 可调用的
- 类型断言
- Freshness
- 类型保护
- 字面量类型
- readonly
- 泛型
- 类型推断
- 类型兼容性
- Never
- 辨析联合类型
- 索引签名
- 流动的类型
- 异常处理
- 混合
- ThisType
JSX
TypeScript 错误提示
TIPs
- 基于字符串的枚举
- 名义化类型
- 状态函数
- Bind 是有害的
- 柯里化
- 泛型的实例化类型
- 对象字面量的惰性初始化
- 类是有用的
- export default 被认为是有害的
- 减少 setter 属性的使用
- 创建数组
- 谨慎使用 --outFile
- TypeScript 中的静态构造函数
- 单例模式
- 函数参数
- Truthy
- 构建切换
- 类型安全的 Event Emitter
- Reflect Metadata
- 协变与逆变
- infer