SuperAPI AI 工具集

typescript-expert

编程与开发

查看项目

更新于 10-16 01:37

技能介绍

用途:这是一份供 AI 在编码执行过程中阅读的 TypeScript 参考,聚焦常见陷阱与类型决策标准,而非教程。文档建议使用 Context7 查询 TypeScript 官方文档。

主要能力:

  1. 严格配置:建议始终启用 {"strict": true, "noUncheckedIndexedAccess": true, "exactOptionalPropertyTypes": true}。
  2. 空值模式对照:if (x) 与 if (x != null) 的区别在于空字符串和 0 是假值但有效;x || default 与 x ?? default 的区别在于 ?? 只捕获 null/undefined,不捕获其他假值;x!.prop 应改用类型收窄或可选链,因为 ! 会掩盖 bug;as Type 应改用类型守卫函数,因为 as 绕过类型检查;any 应改用 unknown 加收窄,因为 any 会关闭全部检查。
  3. 类型守卫:可自定义 isUser(x: unknown): x is User;变体场景优先使用判别联合,如 type Result<T> = { ok: true; data: T } | { ok: false; error: string }。
  4. 常见坑点:Object.keys() 按设计返回 string[] 而非 (keyof T)[],必要时可用 for...in 加类型断言;enum 会生成运行时代码,优先用 as const 对象或联合类型;泛型默认值 function f<T = string>() 中 T 由使用处推断,仅在无法推断时用默认值;satisfies 可在不拓宽类型的前提下做检查,如 const x = { a: 1 } satisfies Record<string, number>;只读数组用 ReadonlyArray<T> 或 readonly T[],可阻止 push/pop/splice;索引签名 [key: string]: T 会让所有属性变为可选,应配合 noUncheckedIndexedAccess。

使用方式:作为 AI 执行时的参考材料读取,人类可读说明见 docs/architecture/HIERARCHICAL_PLANNING.md 或 docs/getting-started/(视主题而定)。

适用场景:编写或审查 TypeScript 代码、配置 tsconfig、处理空值与类型收窄、设计联合类型时。

限制:资料未提供安装命令、版本要求、收费信息或具体平台支持;内容为参考要点,未覆盖全部 TypeScript 特性。