TypeScript 模板字面量类型详解
使用模板字面量类型生成键名、解析路由参数,编写类型安全的事件发射器,包含 Vitest 类型测试和常见陷阱。
使用模板字面量类型生成键名、解析路由参数,编写类型安全的事件发射器,包含 Vitest 类型测试和常见陷阱。
strict 标志在 tsconfig 中启用了哪些检查,每个检查会捕获什么错误,应该启用哪些 strict 以外的标志,以及如何将旧项目迁移到 strict 模式。
使用 keyof、typeof 和 indexed access types 从现有数据推导类型,减少代码重复,让编译器帮你捕捉错误的 key。
配置 tsconfig 和 package.json 使 TypeScript 库正确生成 .d.ts 文件,为用户提供完整的类型支持,并通过 Vitest 进行测试。
如何为 async 函数、Promise<T>、Awaited、Promise.all、类型安全的错误处理进行类型标注,以及避免 async 回调的常见陷阱。
比较 TypeScript 中的 enum 和 union string literal 在运行时、类型安全和工具链方面的差异,介绍 `as const` 模式和各场景下的选择标准。
使用 Zod 在运行时验证来自 API、表单或环境变量的数据,同时从同一个 schema 推导 TypeScript 类型。
使用映射类型和条件类型从现有类型自动生成新类型,包括 infer、key remapping、类型测试和常见错误。
使用 type guard(x is T)和 assertion function(asserts x is T)来安全地缩小类型、检查 unknown 数据,并避免常见陷阱。
新建 TypeScript 项目时如何设置 tsconfig.json,包括严格模式、NodeNext 模块、分离构建和测试配置,以及常见错误。
用 Discriminated union 来建模状态和 API 响应,让编译器阻止非法状态并提醒你处理所有情况。
通过具体例子区分 TypeScript 中的 any、unknown 和 never:何时使用、何时避免,以及如何检查 exhaustive。
学习如何使用 Partial、Pick、Omit 和 Record 来重用类型、减少 TypeScript 中接口的重复定义。
学习如何使用 union 和 intersection 组合类型,以及 TypeScript 如何通过类型缩小(narrowing)使代码更安全、减少运行时错误。
通过 Repository、ApiResponse、Cache 等现实例子理解 TypeScript 泛型——不是空洞的理论,而是可运行的代码和测试演示。