用途:该技能面向 TypeScript 进阶类型编程,帮助在项目中运用泛型、条件类型、映射类型、模板字面量类型、可辨识联合与类型守卫,提升类型安全与代码可维护性。
主要能力:泛型约束(如 T extends HasId)与 groupBy 等工具函数;条件类型与 infer(Flatten、UnwrapPromise、FunctionReturn、从路由字符串提取参数);映射类型(Readonly、Optional、Nullable、PickByType、事件名映射);可辨识联合建模 Result 与 Shape 并配合穷尽 switch;类型守卫(isNonNull、hasProperty、assertNever);工具类型组合(DeepPartial、StrictOmit、RequireAtLeastOne)。
使用方式:资料以代码片段形式展示各模式写法,可直接参考这些类型定义与函数实现应用到自己的代码中;未提供安装命令或调用方式。
适用场景:需要强类型建模 API 响应、状态机、结果类型、路由参数、事件映射,以及从已有类型派生新类型的场景。
限制与注意:资料列出反模式,包括用 any 代替 unknown、在类型守卫更安全时使用 as 断言、泛型签名过度复杂、状态机或结果类型未用可辨识联合、字符串字面量联合足够时仍用 enum、忽略 tsconfig 的 strictNullChecks。检查清单要求启用 strict: true、外部数据用 unknown、类型守卫做运行时校验、可辨识联合配合穷尽 switch、泛型约束防误用、映射类型派生关联类型、优先使用 Pick/Omit/Partial、用模板字面量类型约束字符串模式。具体版本、平台与收费信息暂未提供。