用途:typescript-expert 是一份由 AI 在执行过程中读取的 TypeScript 参考,目标是集中呈现常见陷阱与写法决策标准,而不是教程式讲解。资料说明人类可读的解释位于架构与入门文档中。
主要能力:
- 严格配置建议:建议始终启用 strict、noUncheckedIndexedAccess、exactOptionalPropertyTypes,并给出对应 JSON 片段。
- 空值模式对照:以 bad/good/why 三列对照说明 if (x) 与 if (x != null)、x || default 与 x ?? default、x!.prop 与类型收窄或可选链、as Type 与类型守卫函数、any 与 unknown 加收窄的差异及原因。
- 类型守卫:给出用户自定义类型守卫函数示例(通过 typeof、null 判断与 in 检查收窄 unknown),并推荐用可辨识联合表达变体(如 Result<T> 的 ok 分支)。
- 陷阱清单:Object.keys() 按设计返回 string[] 而非 (keyof T)[],必要时可用 for...in 配合类型断言;enum 会生成运行时代码,优先使用 as const 对象或联合类型;泛型默认值仅在无法推断时生效;satisfies 可在不拓宽类型的前提下做检查;只读数组用 ReadonlyArray<T> 或 readonly T[] 阻止 push/pop/splice;索引签名 [key: string]: T 会让所有属性变为可选,需配合 noUncheckedIndexedAccess。
使用方式:资料建议使用 Context7 获取 TypeScript 文档。该技能以 Markdown 与代码片段形式组织,适合在 Claude 执行任务时作为参考读取。资料未提供安装命令、调用接口或具体集成步骤,暂未提供。
适用场景:编写或审查 TypeScript 代码时快速核对空值处理、严格模式配置、类型收窄与类型断言取舍;为团队建立类型安全约定;在 AI 辅助编码流程中作为决策依据。
限制:内容为参考清单,非完整语言规范;示例为片段,未给出完整工程配置或迁移步骤;未说明版本兼容范围、性能影响与工具链要求,这些暂未提供。