📘
TypeScript
从类型注解到泛型、条件类型与类型体操,写出真正类型安全的代码。
- 01TypeScript 是什么从动态类型的痛点出发,理解 TypeScript 与 JavaScript 的关系、类型擦除与 tsc 编译流程,并写出第一个程序
- 02基础类型与类型注解七种原始类型、any/unknown/never/void 四个特殊类型,以及类型推断与类型注解的取舍
- 03数组、元组与枚举数组与只读数组的两种写法、元组的可选元素与具名元素、数字枚举与字符串枚举的取舍
- 04对象类型与接口对象类型的声明、interface 与 type 的取舍、可选属性、readonly、索引签名、接口继承与声明合并
- 05联合类型与类型收窄联合类型、交叉类型、字面量类型,以及 typeof/instanceof/in/真值收窄与可辨识联合
- 06函数类型函数类型表达式、可选参数与默认值、剩余参数、函数重载、this 类型,以及调用签名与构造签名
- 07类类字段、构造器、访问修饰符、参数属性、getter/setter、抽象类、implements、静态成员与
- 08泛型基础泛型函数、泛型接口、泛型类与类型参数推断,理解「类型的参数」这一抽象
- 09泛型进阶extends 约束、默认类型参数、多类型参数的关联、泛型在联合上的分发,以及常见泛型工具函数的写法
- 10keyof、typeof 与 satisfieskeyof 操作符、typeof 类型查询、索引访问类型、as const 断言与 satisfies 操作符
- 11映射类型与条件类型映射类型、修饰符增删与 key remapping,条件类型、infer 关键字与分发式条件类型
- 12内置工具类型掌握 Partial/Pick/Omit/Record/Exclude/ReturnType 等内置工具类型,并亲手实现它们
- 13模板字面量类型与类型体操用模板字面量类型拼接字符串类型,配合递归与 infer 完成路径类型、驼峰转换等类型体操
- 14类型守卫与类型收窄用类型谓词、断言函数、as const 与穷尽性检查,让运行时判断与编译期类型保持一致
- 15模块系统与声明文件ESM 与 CommonJS 互操作、import type、路径别名、.d.ts 声明文件与 @types 生态
- 16tsconfig.json 详解逐条理解 strict 家族、target/lib/module/moduleResolution、paths、incremental 与项目引用
- 17异步编程的类型Promise 的类型建模、async/await、Awaited、并发控制、AbortSignal 与异步迭代器
- 18错误处理Error 子类化、unknown 类型的 catch、Result 模式、类型安全的错误联合与不变量断言
- 19装饰器TypeScript 5 标准装饰器语法、类与成员装饰器、装饰器元数据,以及与旧版 experimentalDecorators 的差异
- 20生态中的类型实践Node.js 类型、React 组件与 Hooks、HTTP 请求响应契约、环境变量与配置的类型安全
- 21测试与类型测试node:test 内置测试运行器、断言库、类型层面的测试与 CI 中的 tsc --noEmit
- 22项目实战:类型安全的任务 CLI用纯 TypeScript 实现泛型事件总线、Result 化的领域存储与类型安全的命令注册表
- 23项目实战:用 NestJS 构建类型安全的后端服务把第 22 章的任务领域模型搬上 HTTP——模块与依赖注入、控制器与路由、DTO 校验、守卫拦截器管道、TypeORM 持久层、测试与生产化