用途:该技能提供编写干净、类型安全且可维护 TypeScript 代码的指南,适用于新建或配置 TypeScript 项目、在 interface 与 type 别名之间做选择、编写 async/await 代码、审查代码质量,以及规避常见 TypeScript 陷阱。
主要能力与建议: 项目配置:建议始终启用严格模式,在 compilerOptions 中设置 "strict": true、"noImplicitAny": true、"strictNullChecks": true、"strictFunctionTypes": true、"strictBindCallApply": true、"strictPropertyInitialization": true、"noImplicitThis": true、"alwaysStrict": true;理由是可在编译期而非运行期捕获缺陷,强制显式处理 null/undefined,并防止隐式 any。 类型系统:在类型明显时依赖类型推断,避免冗余标注;对公共 API、函数签名和类属性保持显式。interface 用于可扩展的对象结构、公共 API 契约和声明合并;type 用于联合与交叉类型、元组、映射类型和原始类型别名。避免 any,改用 unknown 配合类型守卫,或用泛型提升灵活性。 代码组织:采用小写加点号的文件命名,如 user.service.ts、user.model.ts,并用 barrel 文件(index.ts)统一导出。 函数:参数类型显式、合理使用默认值与剩余参数、遵循单一职责、用守卫子句提前返回以减少嵌套。 异步:始终显式处理错误;能用并行时用 Promise.all 替代顺序 await;用扁平 async/await 代替回调链。 测试与质量:通过依赖注入提高可测试性,使用类型守卫做运行期检查。 性能:使用 import type 做类型专用导入以改善 tree-shaking;用 as const 生成字面量类型;避免过度复杂的嵌套映射类型拖慢编译。 空值处理:使用可选链 ?. 与空值合并 ??;用可辨识联合表示异步状态。
限制:资料未提供该技能的安装方式、运行命令、支持平台、收费与价格等信息,暂未提供。