Agent Skills
返回列表
💻

TypeScript 高级类型

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/typescript-advanced-types。

技能介绍

你在类型系统里卡在哪

库对外暴露的 API 一换字段,编译器却要到运行时才发现;泛型组件在多个项目里复制粘贴,约束写法各有一套;从 JavaScript 迁到 TypeScript 时,any 越补越多,反而失去迁移意义。这类问题往往不是「不会写 TS」,而是高级类型——条件分支、键映射、字符串模板层面的类型——没有形成可复用的模式。

技能如何组织思路

本技能把 TypeScript 类型系统里常用、但文档分散的能力串成一条工程路径:

  • 泛型与约束:在组件、函数、数据结构上复用同一套类型参数,而不是为每种形状写死接口
  • 条件类型与推断:用 extends 与 infer 表达「若 A 则 B」的分派逻辑,把运行时 if/else 前移到编译期
  • 映射类型与工具类型:基于 keyof、Partial、Pick 等组合出配置对象、表单状态、API 响应的变体
  • 模板字面量类型:把路由、事件名、CSS 属性等字符串协议写成可检查的字面量联合

操作指引强调先写清目标、约束与输入,再按最佳实践落地,并给出可验证步骤;更完整的模式与示例在 resources/implementation-playbook.md。

适用边界

适合构建类型安全的库/框架、泛型 UI、复杂推断、强类型 API 客户端、表单与配置、状态管理,以及有纪律的 JS→TS 迁移。若任务与高级类型无关,或需要本技能范围外的其他栈与工具,应换用对应技能而非硬套类型体操。

使用场景

  • 为 REST/GraphQL 客户端按 endpoint 定义响应变体,避免手写重复 interface 与运行时字段拼错
  • 在表单或配置层用映射类型生成字段可选/必填变体,并与校验规则键名保持一致
  • 维护对外发布的组件库,用泛型约束 props 与 ref,让消费方在 IDE 里拿到完整提示
  • 将存量 JavaScript 工具包迁到 strict 模式,用条件类型与工具类型逐步替换 any 与松散对象

适合人员

  • 负责内部或开源 npm 包、希望对外 API 仅靠类型就能约束误用的库维护者
  • 正在把老 JavaScript 模块迁到 TypeScript strict,需要可复用推断模式的全栈或 Node 工程师
  • 设计跨应用复用的 UI/组件库,要用泛型统一 props 与事件名类型的前端架构师
  • 编写 SDK 或 BFF 层类型定义、需要模板字面量约束路由与事件字符串的后端集成开发者