TypeScript 5

TypeScript

JavaScript 的超集——静态类型系统、强大的类型推断与高级类型运算,让大型项目可维护

静态类型
类型推断
编译时检查
IDE 智能提示
10 核心章节
TS 5 最新版本
Top 5 GitHub 最受欢迎语言

为什么学 TypeScript?

TypeScript 由微软工程师 Anders Hejlsberg(同时也是 C# 之父)于 2012 年创造,作为 JavaScript 的静态类型超集。它完全兼容 JS——所有合法的 JS 代码也是合法的 TS 代码,TypeScript 只是在 JS 之上增加了类型系统。

JavaScript 的动态类型在小项目中是优势,但在大型代码库中会引发问题:你无法确定一个函数接收什么参数、一个对象有哪些属性,IDE 补全提示残缺,重构时容易遗漏修改点,错误只在运行时才暴露。TypeScript 解决了这一切——在编译时就发现类型错误,让 IDE 提供精准的智能提示,让代码成为自我文档化的文档。

如今,TypeScript 已成为前端工程化的标准配置:React、Vue 3、Angular、NestJS、Prisma 全部用 TS 编写,Next.js、Nuxt 开箱即用 TS 支持。掌握 TypeScript 是现代前后端开发者的必备技能。

核心特性

TypeScript 让 JavaScript 在大型项目中依然可控

🔍

类型推断

大多数情况下无需手动写类型,TypeScript 从赋值和用法中自动推导,减少冗余。

🧬

泛型

泛型函数与接口,让代码在保持类型安全的同时具备最大的复用性。

🔀

联合与交叉类型

string | number 联合类型、A & B 交叉类型,精确描述复杂的数据形状。

⚙️

高级类型

Mapped Types、Conditional Types、Template Literal Types,类型级别的编程能力。

🎨

装饰器

Stage 3 装饰器提案,NestJS/TypeORM 等框架的基础,优雅的元编程方式。

📦

声明文件

.d.ts 声明文件与 @types/ 包,为第三方 JS 库提供完整的类型信息。

课程目录

10 章系统掌握 TypeScript,从基础到高级类型运算

Chapter 01

TypeScript 起源与类型系统核心

Anders Hejlsberg 与 TypeScript 诞生(2012)、JS 动态类型痛点、tsc 编译过程、结构化类型系统(duck typing)、安装与第一个 .ts 文件。

tsc结构化类型起源
Chapter 02

基础类型:primitive、联合与交叉

string/number/boolean/null/undefined/symbol/bigint、any 的危险性与 unknown 的安全替代、never 类型、数组、元组、联合、交叉、字面量类型。

基础类型联合类型unknown
Chapter 03

接口与类型别名:interface vs type

interface 声明对象形状、可选属性、readonly、索引签名、接口继承、type 别名、interface vs type 的本质区别、声明合并。

interfacetype声明合并
Chapter 04

泛型:函数、类与约束

泛型函数、泛型接口、泛型类、extends 约束、keyof 操作符、ReturnType/Parameters 等内置工具类型、泛型默认值、类型安全的事件系统实战。

泛型keyof工具类型
Chapter 05

类型缩窄:Guards 与断言

typeof/instanceof 保护、自定义类型谓词 is、可辨识联合(discriminated union)、in 操作符、as 类型断言、非空断言 !、satisfies 操作符(TS 4.9)。

类型保护discriminated unionsatisfies
Chapter 06

高级类型:Mapped/Conditional/Template Literal

Mapped Types 映射类型、内置工具类型全解(Partial/Required/Pick/Omit/Record 等)、Conditional Types、infer 关键字、Template Literal Types、递归类型。

Mapped TypesinferTemplate Literal
Chapter 07

模块系统与声明文件(.d.ts)

ES modules vs CommonJS、import type、.d.ts 声明文件原理、@types/ 包、declare module/global、paths 路径别名、moduleResolution 策略详解。

.d.ts@typespaths别名
Chapter 08

tsconfig.json 详解与编译器选项

核心字段(target/module/lib/strict/outDir)、strict 模式 7 个检查项、项目引用(composite)、tsc --noEmit 类型检查、ts-node/tsx/esbuild/SWC 的选择对比。

tsconfigstrict项目引用
Chapter 09

装饰器与元编程

装饰器提案(Stage 3)、新旧装饰器差异、类/方法/属性/参数装饰器、reflect-metadata、NestJS 装饰器实例、TypeORM Entity 装饰器、装饰器工厂模式。

装饰器reflect-metadataNestJS
Chapter 10

实战:Express API 完全类型化

Express + TypeScript 类型化 Request/Response、Zod 运行时验证 + 类型推导、类型安全的 Router、错误处理中间件、环境变量类型化、完整 REST API 示例。

ExpressZodREST API