- 001入门为什么需要 TypeScript:从 JavaScript 的烦恼说起用零基础也能懂的例子解释 JavaScript 的类型陷阱与 TypeScript 的价值,建立类型思维的第一课。
- 002入门本课程使用指南(先读这里)TypeScript 零基础学习路线:环境先行、跳过规则、分层阅读路径与验收标准。
- 003入门TypeScript 概述与环境配置TypeScript 发展历程、与 JavaScript 的关系与开发环境搭建。
- 004入门TS 前篇 01:变量与基础类型零基础第一课:let/const 与 var 的区别、基础类型注解、解构赋值,知识点对齐官方 TypeScript Handbook。
- 005入门TS 前篇 02:函数基础零基础第二课:函数声明与箭头函数、参数与返回类型、可选/默认/剩余参数、this 陷阱入门,对齐官方 TypeScript Handbook。
- 006入门TS 前篇 03:类基础零基础第三课:类成员、继承与 super、public/private/protected、readonly、参数属性、访问器与抽象类,对齐官方 TypeScript Handbook。
- 007入门TS 前篇 04:泛型基础零基础第四课:泛型函数与推断、泛型接口与类、约束 extends、keyof 与工厂函数,对齐官方 TypeScript Handbook。
- 008中级基础类型系统原始类型、联合类型、字面量类型与类型推断。
- 009入门类成员、修饰符与面向对象TS 类的访问修饰符、构造函数简写、抽象类、静态成员、存取器、继承多态与混入等高级特性,装饰器已移至专篇。
- 010中级接口与类型别名interface 与 type 的定义、扩展、交叉与合并。
- 011进阶字面量类型与联合类型字面量类型、联合类型、可辨识联合的形式语义、类型论基础与穷尽性检查的工程实践
- 012中级交叉类型与类型合并从「给组件 Props 追加字段」讲交叉类型:AND 语义、同名属性冲突变 never、接口声明合并,以及与联合类型、Partial 组合的实用模式。
- 013中级枚举进阶编译一个真实的 enum 看它生成了什么:数字枚举的反向映射、字符串枚举与序列化、const enum 与打包器的冲突、erasableSyntaxOnly 下的处境,以及 as const 对象替代方案的完整落地与决策表。
- 014中级索引签名与动态属性从「aria-* 属性与标签计数表」讲索引签名:键集合开放的类型怎么写、Record 的取舍、动态访问的 undefined 风险与 noUncheckedIndexedAccess,以及与映射类型的分工。
- 015中级类型守卫与自定义守卫从 localStorage 里的脏数据出发,讲透 TypeScript 的类型收窄:内置守卫、判别式联合、自定义类型谓词与断言函数,以及七个经典坑点。
- 016中级类型推断深入(拓宽与收窄)TypeScript 类型推断的完整规则:字面量拓宽、const 与 let 差异、最佳公共类型、上下文类型推断与泛型推断。
- 017中级as const 完整讲解(const 断言)as const 的完整语义:字面量收窄、递归只读、数组转元组,以及与类型注解、satisfies、enum 的取舍。
- 018中级satisfies 操作符用真实项目里的主题令牌与路由表切入,讲清 satisfies「只验证、不拓宽」的语义:与类型注解、as 断言的三方对比,as const satisfies 组合模式,以及拓宽、数组、泛型推断等典型坑点。
- 019进阶satisfies 的形式语义与类型论视角把 satisfies 的行为写成严格规则:语法位置约束、三条求值规则(注解 / 断言 / satisfies)、子类型关系与记忆性质,面向想理解「编译器为什么这样判」的读者。
- 020中级never 类型完整语义never 作为空类型的完整语义:联合吸收、交叉吸收、穷尽检查、与 unknown 的对偶关系及其在泛型中的应用。
- 021入门类型兼容性(结构化类型系统)TypeScript 结构化类型系统的赋值兼容规则:对象、函数、联合、交叉与特殊类型的兼容判断。
- 022中级keyof、typeof 与索引访问类型三个类型操作符:从值世界提取类型的三把钥匙。
- 023中级函数重载与泛型函数从「一个搜索函数要兼容两种输入」切入,讲函数重载的正确姿势与泛型函数设计:多类型参数、约束、泛型类与常见错误修正。
- 024中级泛型约束与默认类型参数从「按任意字段排序」的真实需求切入,讲透 extends 约束、keyof 约束、多重约束与默认类型参数,以及约束过宽、过严、顺序错误三类高频坑。
- 025中级this 类型与多态TypeScript中this类型与多态this
- 026中级符号与唯一类型Symbol、unique symbol 与品牌类型的类型论基础、形式语义与生产级模式
- 027入门迭代器与生成器类型迭代协议的类型层:Iterable/Iterator/Generator/AsyncGenerator 的类型参数、for...of 与 for await...of 的类型推导,以及分页流、文件流、任务队列三类工程实例。
- 028进阶协变与逆变TypeScript 中协变、逆变、双变与不变的型变关系,涵盖函数子类型理论、Liskov 替换原则、严格函数类型检查、数组协变陷阱与 React props 逆变等核心议题
- 029进阶装饰器详解TypeScript装饰器与元编程
- 030进阶装饰器标准实现用 tsx 跑通第一批标准装饰器(TS 5.0+ 的 value + context 模型):类、方法、字段、自动访问器四类签名,context 对象与元数据,2026 年生态现状(框架仍在 Legacy、Node 类型剥离不认装饰器),以及 this 绑定与混用等典型坑。
- 031中级命名空间与模块从「抽一个共享格式化模块」讲起:ES 模块的导出导入姿势、namespace 还会出现在哪、循环依赖为什么会炸、ESM 与 CommonJS 互操作的 default 差异。
- 032入门声明文件编写:给没有类型的世界补类型从「给一个无类型的 npm 包补声明」动手:.d.ts 的 declare 语法、declare module 模块声明、声明合并、types 字段与 @types 生态、三斜线指令的完整工程指南。
- 033入门模块解析进阶与 ESM/CJS 互操作TypeScript 模块解析策略(bundler/node16/nodenext)、paths 路径映射、package.json exports 字段、ESM/CJS 互操作与 @types 生态的工程指南
- 034中级import type 与 verbatimModuleSyntax值导入与类型导入的区别、import type 的写法、verbatimModuleSyntax 与 isolatedModules 的作用及常见陷阱。
- 035进阶模块声明与全局类型增强TypeScript 模块声明与全局类型增强:declare module、声明合并、全局扩展与 DefinitelyRoots 类型生态的形式语义、工程实践与生产级模式。
- 036入门DOM 与 Web API 类型lib.dom.d.ts 从哪来、lib 与 target 怎么组装、DOM 泛型方法与 addEventListener 的事件映射,以及浏览器和 Node 环境下 lib 差异导致的常见报错。
- 037中级TypeScript 工程化配置tsconfig 详解、项目引用、增量编译与 monorepo 配置。
- 038中级tsconfig 严格模式以 FANDEX 仓库两份真实 tsconfig 为例,讲透 strict 总开关与各子选项的实际效果:null 检查、隐式 any、函数参数逆变、属性初始化、catch 未知类型,以及 noUncheckedIndexedAccess 与 exactOptionalPropertyTypes 两个「编外」选项的取舍。
- 039入门TypeScript 代码质量工具链typescript-eslint 与类型感知规则:flat config 接入、parserOptions.project 的代价与收益、no-floating-promises 明星规则、与 tsc 严格模式的分工,以 FANDEX 仓库真实配置为例。
- 040入门TypeScript tsc 编译命令速查手册按场景速查 tsc 的全部高频命令:编译与检查、watch 与增量、工程构建、诊断排查,并区分 tsc 与打包器的职责边界。
- 041进阶TypeScript 编译与性能优化TypeScript 编译流程、增量编译、类型检查优化与构建工具集成:编译器架构、性能模型、复杂度分析、tsconfig 调优、项目引用、CI/CD 策略与生产级性能优化。
- 042中级TypeScript 迁移实战渐进式迁移策略、类型覆盖提升、常见迁移陷阱与生产级最佳实践,涵盖 tsconfig 演进、JSDoc 桥接、ts-migrate 自动化与大型项目案例研究。
- 043中级JSDoc 类型驱动开发:不写 .ts 也有完整类型用 JSDoc 注释获得 TypeScript 级类型检查:checkJs、@type/@typedef/@import、dts 生成与适用边界。
- 044中级Node.js 与 TypeScript 工程化一份开箱即用的 Node.js + TypeScript 工程骨架:目录结构、tsconfig 双配置、开发与构建脚本、常见坑位。
- 045进阶Project References 与 Monorepotsc --build、project references 与大仓里的 TypeScript 组织。
- 046中级条件类型与分发:类型层的 if 语句用「根据输入类型选返回类型的存档加载器」引入,讲透 T extends U ? X : Y、嵌套条件、分布式条件类型与 never 的空联合行为,并揭开 Exclude/Extract 的真面目,附可运行实验与真实报错调试实录。
- 047进阶infer 专题:在类型层占位与推导430 讲条件与分发,本篇专讲 infer:在 extends 右侧占位,从函数签名、数组、元组、Promise 中推出内部类型;四类经典推导模式与递归条件类型入门 DeepPromise,附 infer 位置错误与同名占位的真实报错调试实录。
- 048进阶组合实战:把条件类型与 infer 拼成真实工具430 的分发与 440 的 infer 在本篇组装:完整推导 DeepReadonly、MyAwaited、ParametersToObject 三个工具类型,每个都走「目标、思路、实现、用例与预期」流程,含 TS2589 深度限制调试实录与类型体操的可维护性边界。
- 049进阶条件类型遇上映射类型:值位置的变换条件类型三部曲到映射类型的桥梁篇:把条件类型放进映射的值位置,实现逐字段清洗(去 null 变可选)、按条件筛键与逐元素变换,并给出「先循环还是先判断」的设计顺序。
- 050进阶映射类型进阶:修饰符与同态性从「草稿全可选、归档全只读」两个真实需求讲映射类型的进阶语法:修饰符加减(+?/-?)、同态映射为什么能保留原类型的 optional 与 readonly、never 键过滤,以及递归映射入门。
- 051进阶映射类型与键重映射(as 子句)映射类型的 as 子句专篇:改键名(加前缀、生成 getter/事件处理器名)、模板字面量拼键、按条件筛键,以及「键在映射里丢了」等报错的排查。
- 052中级工具类型实现原理:手写 Partial 到 Omit把 Partial、Pick、Omit、Record、ReturnType 逐个徒手复刻,看清映射类型、条件类型与 infer 怎么拼出标准库工具类型,并补上 Omit 的联合类型坑与精确值匹配两个进阶细节。
- 053入门内置工具类型全景速查对照官方 Utility Types 参考页的全量内置工具类型目录:每类给签名、等效手写与真实场景例子,含编辑表单草稿、列表页白名单与事件表三条主线。
- 054进阶模板字面量类型:把字符串写进类型从「URL 拼错一级路径」切入,讲模板字面量类型:联合笛卡尔积、内置四个字符串工具类型、模式匹配提取路由参数,以及组合爆炸与模糊匹配两个坑。
- 055进阶递归类型与深度操作TypeScript 递归条件类型与深度类型操作的形式化定义、尾递归优化机制、DeepReadonly/DeepPartial/DeepRequired 实现原理、JSON 类型推导、循环引用处理与编译性能优化
- 056中级类型体操实用模式:类型层也要别重复自己以「分页结构到处手写泛型」引入,讲五个消灭重复劳动的类型体操模式:索引访问提取元素、keyof + in 生成映射、模板字面量拼事件名、条件类型过滤联合、手写复刻 Pick/Omit,附 TS2344 与 TS2536 实测调试。
- 057进阶类型体操深水区:递归的边界、infer 的暗流与停手的时机530 讲实用模式,本篇讲机制与边界:DeepMutable 一例实测惰性与急切递归的 TS2589 分野、递归终止条件设计、infer 双占位的联合与交叉、可维护性三问与类型测试惯用法——什么时候该写,什么时候该停手。
- 058进阶TypeScript 类型测试与断言给类型层 API 建回归防线:手写 Equal/Expect 断言、tsd 工具、@ts-expect-error 与 never 穷尽检查的完整用法。
- 059入门异步类型模式async 函数返回值的推断规则、Awaited 的语义(复用 infer 篇的 MyAwaited)、PromiseLike 与 thenable、catch 分支 unknown 的处理,以及轮询与事件回调中的异步类型陷阱。
- 060入门类型化错误处理用判别联合把错误建模成返回值:Result/Either 模型、异常与返回值两条路线的取舍、catch unknown 收窄收尾与 assert never 穷尽检查,含文件三态、分页错误码表与批量导入聚合三个完整例子。