# typescript-system **Repository Path**: zhangwei5095/typescript-system ## Basic Information - **Project Name**: typescript-system - **Description**: typescript - **Primary Language**: TypeScript - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-02 - **Last Updated**: 2026-07-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TypeScript 系统学习 — 从零到精通 > 涵盖所有核心知识点的代码示例与详细讲解,共 12 个包、约 80 个 `.ts` 文件,每个文件可独立运行。 ## 学习路线 ``` 01-basics ──→ 02-interfaces ──→ 03-classes ──→ 04-functions ↓ 05-generics ──→ 06-advanced-types ──→ 07-type-guards ↓ 08-modules (独立) 09-decorators (依赖 03) 10-utility-types (依赖 05+06) ↓ 11-async ──→ 12-type-challenges ``` ## 包列表 | 包 | 涵盖内容 | |---|---| | **01-basics** | 原始类型、特殊类型、数组/元组、枚举、类型推断、字面量类型、类型注解 | | **02-interfaces** | 接口定义、可选/只读属性、函数类型、索引签名、接口继承、type vs interface | | **03-classes** | 类基础、访问修饰符、静态成员、抽象类、getter/setter、参数属性 | | **04-functions** | 函数类型注解、可选/默认/剩余参数、重载、this 类型、调用签名、生成器 | | **05-generics** | 泛型函数、多类型参数、泛型接口、泛型类、约束、工具类型预览 | | **06-advanced-types** | 联合/交叉类型、类型别名、可区分联合、映射类型、条件类型、模板字面量 | | **07-type-guards** | typeof/instanceof、等值收窄、in 操作符、自定义守卫、类型断言、穷举检查 | | **08-modules** | ES Modules (export/import)、默认导出、重导出、barrel 导出、namespace、声明文件 | | **09-decorators** | 类/方法/访问器/属性/参数装饰器、装饰器工厂、组合装饰器 | | **10-utility-types** | Partial/Required/Readonly、Pick/Omit、Record、Awaited、手写实现 | | **11-async** | Promise 类型、async/await、异步迭代器、异步生成器、并发控制、回调转 Promise | | **12-type-challenges** | infer 关键字、模板字面量类型、递归类型、简单/中等/困难挑战题 | ## 快速开始 ```bash # 安装依赖 pnpm install # 类型检查所有文件 pnpm typecheck # 运行单个文件 pnpm tsx 01-basics/01-primitive-types.ts # 运行模块示例 pnpm tsx 08-modules/01-basic-export-import/app.ts ``` ## 技术栈 - **TypeScript 5.7+** — `strict` 模式,`target: ES2022` - **tsx** — 直接运行 `.ts` 文件,无需预编译 - **pnpm** — 包管理器 ## 代码特点 - 每个文件独立运行,自带 `console.log` 输出验证 - 中文注释,解释"为什么"而不是"是什么" - 三阶段渐进:基础语法 → 进阶概念 → 类型挑战 - 文件以 `export {}` 隔离模块作用域,避免全局污染 ## 许可 [MIT](LICENSE)