TypeScript 深度教程
TypeScript 深度教程
递归抓取并整合菜鸟教程 TypeScript 系列与TypeScript 官方 Handbook:共抓取 196 个页面(菜鸟教程 72 篇、官方完整侧栏 124 篇,含 TypeScript 1.1~6.0 Release Notes),重组为 JavaScript 基础 → TypeScript 类型系统 → 工程化 → 高级类型 → 模块与声明 → 浏览器与工具链 → 版本演进 → 实战的完整路径。
本教程的定位
这不是对网页的逐段搬运,而是面向实践重新组织的中文教程。菜鸟教程提供中文主题广度和示例,官方 Handbook 补齐函数与对象细节、类型操作、模块理论、声明文件、JSDoc、DOM/JSX、构建工具和项目配置。每个抓取页面都记录在递归抓取覆盖清单中,并映射到至少一个整合章节。
Wiki 编译排除
本目录中的全部 Markdown 文档均带有 wiki_exclude: true,不会被 wiki-compile 扫描、提炼或写入概念库。
一、学习目标
完成本教程后,你应该能够:
- 解释 TypeScript 与 JavaScript 在语法、类型检查和运行时上的关系。
- 使用基础类型、联合类型、接口、类型别名、泛型和类型收窄描述业务数据。
- 正确处理 null、undefined、unknown、any、异步错误和外部数据。
- 配置 tsconfig.json,组织模块、声明文件和多包项目。
- 阅读并使用条件类型、映射类型、工具类型、keyof、索引访问类型和 infer。
- 在 Node.js、React 或 Vue 项目中建立类型安全边界,并从 JavaScript 渐进迁移。
二、章节结构
| 章节 | 核心内容 | 难度 |
|---|
| 第1章:开篇 | TypeScript 定位、类型擦除、安装、编译、VS Code | 入门 |
| 第2章:语言基础 | 变量、基础类型、数组、元组、枚举、控制流 | 入门 |
| 第3章:函数与对象 | 函数、重载、对象、接口、类、泛型 | 基础 |
| 第4章:类型建模 | 联合、交叉、字面量、守卫、判别联合 | 核心 |
| 第5章:集合、异步与错误 | Map、Set、迭代器、Promise、async/await、Result | 基础 |
| 第6章:模块化工程 | tsconfig、模块、声明文件、路径映射、JS 迁移 | 工程 |
| 第7章:高级类型 | Utility Types、条件类型、映射类型、keyof、infer | 进阶 |
| 第8章:类的高级能力 | 继承、多态、抽象类、修饰符、Mixin、装饰器 | 进阶 |
|
三、建议路线
- JavaScript 初学者:严格按第 1~6 章学习,并同步补齐 JavaScript 对象、原型、模块、Promise 与事件循环。
- 有 JavaScript 经验:第 1 章快速建立正确定位,重点学习第 3、4、6、7 章。
- 前端开发者:基础章节后直达第 7、9、10 章,特别关注外部数据校验、组件 Props 与状态建模。
- Node.js 开发者:重点学习第 5、6、9、10 章,明确类型检查不能替代运行时输入校验。
- 维护大型项目:把第 4、6、7、9、11~18 章作为长期手册。
四、贯穿全书的心智模型
text
JavaScript 决定运行时语义
↓
TypeScript 在运行前分析代码并报告类型问题
↓
编译时擦除类型,输出 JavaScript
↓
浏览器或 Node.js 执行 JavaScript
TypeScript 不会验证网络响应
const user = await response.json() as User 只是告诉编译器“相信我”,并没有验证真实数据。跨网络、文件、数据库和用户输入的边界仍需运行时校验。
五、资料边界
本教程参考了菜鸟教程 TypeScript 系列当前目录所覆盖的基础类型、函数、类、泛型、模块、高级类型、工程配置和框架实战,也采用了官方文档对 TypeScript 定位的解释。示例、结构、练习和工程建议均重新组织,用于个人学习与 Obsidian 内部检索。
原始页面索引见:原始资料索引。
- 第1章:TypeScript 与 JavaScript 及开发环境
- 第18章:写出可靠 TypeScript 的原则
- 196 篇递归抓取覆盖清单
- Rust 深度教程
- Raw Data: ai-output/temporary/data/typescript-tutorial-source-extract.json