SuperAPI AI 工具集

typescript-types

编程与开发

查看项目

更新于 10-16 06:48

技能介绍

用途:在具体任务中应用 TypeScript Style Guide 的类型约定,可按需应用、审查或解释相关规则。使用前先检查所在仓库的约定与配置,仓库显式约定优先于本指南;仅应用与当前任务相关的部分,并在结论依赖上下文时说明权衡。TypeScript 与 ESLint 能自动检查的内容仍交给工具,不要因为本技能启用而引入无关约定。

主要能力:类型推断上,仅在有助于收窄类型时显式声明类型,例如 new Map<string, number>()、useState<UserRole>('admin');能推断时则省略冗余标注,如 const USER_ROLE = 'admin'、useState(false)。数据不可变方面,尽量用 Readonly 和 ReadonlyArray 防止意外修改,数据处理时返回新数组或对象,仅在复杂对象或性能优化等必要场景使用可变操作。类型安全常量可用 as const satisfies 同时获得只读字面量推断与更宽类型校验,适用于数组与对象常量。模板字面量类型可用于字符串模式、API 端点、国际化键、CSS 工具类与数据库查询等场景,在编译期约束字面量;它不校验运行时字符串。any 不应使用,模糊数据用 unknown 并在解引用前收窄;类型断言与非空断言仅作为有充分理由的例外;无法缓解的 TypeScript 错误用带说明的 @ts-expect-error,避免 @ts-ignore。类型定义统一用 type,声明合并时用 interface 并关闭相应 lint 规则;数组类型用泛型写法;类型导入导出用 import type 分离,便于 tree shaking 并避免副作用;外部服务类型应从其契约生成(如 openapi-ts、graphql-config),避免手工维护。

限制:生成类型只同步编译期契约,不在运行时校验外部服务数据;模板字面量类型同理。资料未提供安装命令、命令行用法、收费或平台信息。