此项目是 TypeScript Deep Dive 的中文翻译版,感谢作者 Basarat 的付出。
数据来源:npm 包下载量
正如你所见,TypeScript 发展至今,已经成为大型项目的标配,其提供的静态类型系统,有利于我们尽早检查出程序错误;同时,它提供的最新和不断发展的 JavScript 特性,能让我们的代码更加健壮;此外,配合编辑器给予的代码提示,它有助于我们编码效率的提升,在一定程度上,它有利于项目的重构。
TypeScript Deep Dive 是一本很好的开源书,从基础到深入,很全面的阐述了 TypeScript 的各种魔法,不管你是新手,还是老鸟,它都将适应你。此外,它不同于 TypeScript 官方给出的文档(当然 TypeScript 给出的文档是很好的),在此书中,你将能更深入的了解 TypeScript,同时它也给出了更实用的示例。
如今社区已经存在部分翻译,但都似乎已经停止更新。
于是在某天的某个冲动之下,这个 RP 就诞生了。
TypeScript Deep Dive 书中包含一部分 JavaScript Future 和一些其他的内容,在这里,我们并不打算翻译它,如果你有兴趣,可以查看原书中 JavaScript Future 的有关章节。
计划翻译章节已在 todo 文件夹下,如有需要,后续会继续补充。
由于 TypeScript 更新频繁,在此书中,我也将加入一些原书中并没有涉及到的知识点,希望和大家相互学习,一起进步。
此外,在不违背原作者本意前提下,为了更直观的表达,部分内容将采用意译,而非直译。
- 项目
- 编译内容
- 声明空间
- 模块
- 命名空间
- 动态导入
- 类型系统
- 概览
- 从 JavaScript 迁移
- @types
- 环境声明
- 接口
- 枚举
- lib.d.ts
- 函数
- 可调用
- 类型断言
- Freshness
- 类型保护
- 字面量类型
- readonly
- 泛型
- 类型推断
- 类型兼容性
- Never 类型
- 辨析联合类型
- 索引签名
- Moving Types
- 异常处理
- 混合
- 错误
- 一些提示
- 编译原理
如果你和我一样对 TypeScript 一见钟情,可以订阅(star)本项目,及时收到有关于此项目的更新。
如果你对文章有任何疑问,欢迎提交 issues 和我交流。
如果你认为有些地方翻译不够准确,或者你想补充一些文中没提到但是非常有意思的知识点,欢迎 PR。