TypeScript 课程大纲

基础入门

  • TypeScript 简介和优势
  • 开发环境搭建 (Node.js, TypeScript 编译器)
  • 第一个 TypeScript 程序
  • 基本类型和变量声明
  • TypeScript 配置文件 (tsconfig.json)

TypeScript 类型系统

  • 基本类型详解 (number, string, boolean, array, tuple)
  • 枚举类型
  • Any 和 Unknown 类型
  • Void, Null 和 Undefined
  • Never 类型
  • 类型断言

函数

  • 函数声明和表达式
  • 可选参数和默认参数
  • 剩余参数
  • 函数重载
  • This 和箭头函数

接口和类型

  • 接口定义和使用
  • 可选属性和只读属性
  • 函数类型接口
  • 类类型接口
  • 继承接口
  • 类型别名 vs 接口

  • 类的定义和实例化
  • 继承和多态
  • 访问修饰符 (public, private, protected)
  • 静态属性和方法
  • 抽象类

高级类型

  • 交叉类型
  • 联合类型
  • 类型保护和类型区分
  • 可为 null 的类型
  • 字面量类型
  • 索引类型和映射类型

泛型

  • 泛型函数
  • 泛型接口
  • 泛型类
  • 泛型约束

模块和命名空间

  • ES6 模块系统
  • 命名空间
  • 模块解析策略

装饰器

  • 类装饰器
  • 方法装饰器
  • 属性装饰器
  • 参数装饰器

高级特性

  • 混入 (Mixins)
  • 条件类型
  • 映射类型
  • infer 关键字
  • 工具类型 (Partial, Readonly, Pick 等)

异步编程

  • Promises
  • Async/Await
  • 异步迭代器

TypeScript 与 React

  • 创建 React 项目 (Create React App with TypeScript)
  • 组件类型定义
  • Props 和 State 类型
  • 事件处理
  • Hooks 与 TypeScript

TypeScript 与 Node.js

  • 搭建 TypeScript Node.js 项目
  • 类型定义文件 (@types)
  • Express 与 TypeScript

测试

  • Jest 与 TypeScript
  • 单元测试编写
  • 测试覆盖率

工具和生态系统

  • TSLint / ESLint 配置
  • Webpack 与 TypeScript
  • TypeScript 编译器 API

设计模式

  • TypeScript 中的设计模式实现
  • 函数式编程概念

性能优化

  • 类型推断优化
  • 编译优化技巧

项目实战

  • 全栈 TypeScript 应用开发
  • TypeScript 库开发

TypeScript 生态系统

  • 流行的 TypeScript 库和框架
  • TypeScript 社区和资源
  • 持续学习和最佳实践