你将获得什么?
- 初出茅庐:掌握类型能力的核心 3 要素;
- 胸有成竹:建立 TypeScript 完整知识体系;
- 自成一派:彻底搞懂类型编程 4 大范式;
- 身经百战:提升工程与框架中的实践能力。
课程简介
当下,TypeScript 正在逐渐成为与前端框架以及 ES6 语法同一地位的基础工具,越来越多的开发者或团队已经将它作为首选语言之一。TypeScript 带来的收益十分明显,在代码健壮性、可读性、开发效率与开发体验等多个方面,都能带来显著提升。因此,越来越多的前端开发者开始尝试使用以及学习 TypeScript。
但想要学好 TypeScript 并不是一件容易的事情。对 JavaScript 开发者来说,TypeScript 是一项全新的事物,有着一定的理解与上手成本。拿 TypeScript 的类型能力来说,它包括基础类型、内置类型、类型工具、类型编程、类型系统等数个概念,虽然这些概念分散开来并不复杂,但想要完全理解,达到融会贯通,需要大量的时间。
想要找到正确、高效地学习路径,我们可以从每个阶段使用 TypeScript 的目的出发。在项目开始阶段,类型能力可以为 JavaScript 代码添加类型与类型检查来确保健壮性。在项目优化阶段,我们提前使用新语法或新特性来简化代码。在编译阶段,我们可以利用 tsc 以及 tsc 配置(TSConfig),最终获得可用的 JavaScript 代码。
因此 “类型-语法-工程”也是学习 TypeScript 的最佳路径。小册也是这样设计的,你只需要跟着学下来,就能搭建出 TypeScript 的完整知识体系。
- 在类型能力篇,我们会先从 TypeScript 的类型基础讲到泛型、条件类型等这些类型工具,再从内置工具类型讲解到内置工具类型进阶,带你建立起 TypeScript 类型能力知识体系,懂得结合使用各种类型工具进行类型编程,能够独立解决各种类型报错,理解类型世界的基本规则与运行规律。
- 在语法篇,我们会从 TypeScript 与 ECMAScript 的关系开始说起,介绍这些新语法的使用,对其中的重量级角色装饰器,我们更会搭配实战演练。
- 在最后的工程篇,除了 tsc 以及 TSConfig,我们还会有更多的工程实战,并与 React / ESLint 等框架或工具紧密结合,开发并部署一个基于 TypeScript 的 Node API。
就像这本小册的名字《 TypeScript 全面进阶指南 》一样,我们的目标是全方位、无死角地掌握 TypeScript。
课程目录
1 开篇:用正确的方式学习 TypeScript
2 工欲善其事:打造最舒适的 TypeScript 开发环境
3 进入类型的世界:理解原始类型与对象类型
4 掌握字面量类型与枚举,让你的类型再精确一些
5 函数与 Class 中的类型:详解函数重载与面向对象
6 探秘内置类型:any、unknown、never 与类型断言
7 类型编程好帮手:TypeScript 类型工具(上)
8 类型编程好帮手:TypeScript 类型工具(下)
9 类型编程基石:TypeScript 中无处不在的泛型
10 结构化类型系统:类型兼容性判断的幕后
11 类型系统层级:从 Top Type 到 Bottom Type
12 类型里的逻辑运算:条件类型与 infer
13 内置工具类型基础:别再妖魔化工具类型了!
14 反方向类型推导:用好上下文相关类型
15 函数类型:协变与逆变的比较
16 了解类型编程与类型体操的意义,找到平衡点
17 内置工具类型进阶:类型编程进阶
18 基础类型新成员:模板字符串类型入门
19 类型编程新范式:模板字符串工具类型进阶
20 工程层面的类型能力:类型声明、类型指令与命名空间
21 在 React 中愉快地使用 TypeScript:内置类型与泛型坑位
22 让 ESLint 来约束你的 TypeScript 代码:配置与规则集介绍
23 全链路 TypeScript 工具库,找到适合你的工具
24 说说 TypeScript 和 ECMAScript 之间那些事儿
25 装饰器与反射元数据:了解装饰器基本原理与应用
26 控制反转与依赖注入:基于装饰器的依赖注入实现
27 TSConfig 全解(上):构建相关配置
28 TSConfig 全解(下):检查相关、工程相关配置
29 基于 Prisma + NestJs 的 Node API :前置知识储备
30 基于 Prisma + NestJs 的 Node API :项目开发与基于 Heroku 部署
31 TypeScript Compiler API 上手:打造 AST Checker 与 CodeMod
32 总结:是结束,也是开始
33 漫谈:大厂一般是怎么考察候选人 TypeScript 技能水平的?
34 漫谈:拥抱下一代 Node 框架—— DeepKit
作者介绍
林不渡,阿里巴巴前端开发工程师
林不渡,阿里巴巴前端开发工程师。深耕 TypeScript,在团队中参与制定并推广 TypeScript 相关研发规约。热爱分享,曾在极客时间、前端早早聊等平台做过 TypeScript 主题分享,写过「TypeScript 的另一面:类型编程」专栏。同时也是一名开源爱好者,可以通过 GitHub 更多了解他。