TypeScript语言学习线路
[ 2025.4.19更新 ]
第一阶段:TypeScript 入门
目标:了解 TypeScript 的作用、与 JavaScript 的关系,以及开发环境配置。
1. TypeScript 简介 学习简介
- TypeScript 是什么?
- TypeScript 与 JavaScript 的区别
- 为什么使用 TypeScript?
2. 安装与配置 学习安装与配置
- 安装 TypeScript(npm install -g typescript)
- 初始化配置文件(tsc --init)
- 常见 tsconfig.json 配置项讲解 学习配置详解
- 使用方式:tsc 编译、ts-node 运行、TS Playground
第二阶段:基础类型系统
目标:掌握 TypeScript 提供的基础与特殊类型。
1. 原始类型 学习原始类型
- boolean、number、string
- null、undefined、void
2. 特殊类型 学习特殊类型
- any(任意类型)
- unknown(安全的任意类型)
- never(不可能的值)
- object(非原始类型)
3. 断言与推断 学习断言与推断
- 类型断言(as、! 非空断言)
- as const 与 satisfies
- 类型推断机制(自动识别变量类型)
第三阶段:复合类型与函数类型
目标:掌握 TypeScript 的组合类型、函数参数与重载特性。
1. 复合类型 学习复合类型
- 联合类型(string | number)
- 交叉类型(A & B)
- 元组类型(Tuple)
- 数组类型(number[] 或 Array<number>)
2. 类型别名与守卫 学习别名和守卫
- type 关键字
- 类型保护(typeof、instanceof、类型谓词)
3. 函数相关 学习函数
- 函数声明与返回值类型
- 可选参数、默认值参数
- 剩余参数(Rest)
- 函数重载(Overload)
第四阶段:对象类型与面向对象
目标:学习接口、类、访问修饰符、继承与抽象等面向对象特性。
1. 接口(Interface) 学习接口
- 接口定义与可选属性
- 只读属性(readonly)
- 接口扩展(继承多个接口)
- 混合类型(Hybrid Type)
- 接口 vs 类型别名
2. 类与访问修饰符 学习类与访问修饰符
- 构造函数与参数简写
- public、private、protected
- 继承与多态
- 方法重写、抽象类
- keyof 操作符使用
第五阶段:泛型与高级类型
目标:掌握泛型编程,理解 TypeScript 中的高级类型特性。
1. 泛型基础 学习泛型基础
- 泛型函数与泛型类
- 泛型约束(extends)
- 默认类型参数
2. 高级类型系统 学习高级系统
- 条件类型(T extends U ? X : Y)
- 映射类型(Mapped Types)
- 模板字面量类型(Template Literal Types)
- 递归类型(Recursive Types)
3. 实用工具类型(Utility Types)学习使用工具
- Partial<T>、Pick<T, K>、Omit<T, K>
- Readonly<T>、Record<K, T>
- Exclude<T, U>、Extract<T, U>
- NonNullable<T>
- ReturnType<T>、Parameters<T>、InstanceType<T>、Awaited<T>
第六阶段:模块系统与声明
目标:理解模块化开发与声明文件的书写与使用。
1. 模块类型 学习模块类型
- 外部模块(import/export)
- 命名空间模块(namespace)
- Ambient 模块(全局模块声明)
2. 模块扩展 学习模块扩展
- 命名空间增强(Augmentation)
- 全局变量扩展
第七阶段:项目实践与生态工具
目标:掌握 TypeScript 项目开发所需的生态工具链。
1. 编译与构建 学习编译构建
- 构建工具:Webpack、Vite、Rollup 与 TypeScript 配合使用
- 集成 Babel 转译兼容性
2. 格式化与规范 学习格式化规范
- Lint 工具:ESLint + typescript-eslint
- 格式化工具:Prettier
3. 常用生态库 学习生态库
- 类型安全网络请求(Axios + 类型)
- React / Vue 的 TypeScript 支持
- 工具库类型提示(如 Lodash)
附录:学习建议与推荐资源
学习建议:
- 从 JS 项目迁移开始练习 TS
- 学会使用 VSCode 的自动补全提示
- 多写声明文件理解类型系统