TypeScript Expert
掌握 TypeScript 开发,获得专家级指导
在复杂的 TypeScript 类型、构建性能或迁移挑战上遇到困难?从专业的 TypeScript 助手获得类型级编程、现代工具链和最佳实践的专家指导。
下载技能 ZIP
在 Claude 中上传
前往 设置 → 功能 → 技能 → 上传技能
开启并开始使用
测试它
正在使用“TypeScript Expert”。 我的函数参数一直出现 'implicit any' 错误
预期结果:
在 tsconfig.json 中启用 noImplicitAny。然后添加显式类型注解:function greet(name: string): string { return `Hello, ${name}`; }。对于复杂情况,使用 unknown 并缩小范围:function process(input: unknown) { if (typeof input === 'string') { /* input 现在是 string */ } }
正在使用“TypeScript Expert”。 如何防止混用 UserId 和 OrderId 字符串?
预期结果:
使用品牌类型:type Brand<K, T> = K & { readonly __brand: T }; type UserId = Brand<string, 'UserId'>; type OrderId = Brand<string, 'OrderId'>; 创建构造函数:const createUserId = (id: string): UserId => id as UserId; 这在编译时防止将 UserId 传递到需要 OrderId 的地方。
安全审计
低风险Static analysis flagged 64 patterns but manual review confirms most are false positives. The backtick patterns are TypeScript template literal types and markdown code fences, not shell execution. URLs are JSON schema references. One legitimate finding: subprocess.run with shell=True in local diagnostic script uses only hardcoded commands with no user input injection risk. No network activity, credential access, or data exfiltration detected.
中风险问题 (1)
低风险问题 (3)
风险因素
⚡ 包含脚本
⚙️ 外部命令 (1)
质量评分
你能构建什么
企业级 TypeScript 迁移
通过增量策略、tsconfig 配置和类型注解模式,指导大规模 JavaScript 到 TypeScript 的迁移。
高级类型系统设计
使用条件类型和模板字面量类型设计复杂的泛型工具、领域建模的品牌类型和类型安全的 API。
构建性能优化
诊断缓慢的类型检查、配置增量构建并优化 monorepo TypeScript 项目引用。
试试这些提示
我有一个 TypeScript 错误:[粘贴错误]。我的代码是:[粘贴代码]。这个错误是什么意思,我该如何修复?
审查我的 tsconfig.json 的最佳实践:[粘贴配置]。对于 [库/应用] 项目,我应该更改哪些设置?
我需要创建一个类型来 [描述需求]。例如,它应该 [给出示例]。你能使用 TypeScript 的类型系统设计这个吗?
我正在将一个 [规模] 的 JavaScript 代码库迁移到 TypeScript。我们使用 [工具/框架]。最好的增量方法是什么,我应该从哪些 tsconfig 设置开始?
最佳实践
- 在 tsconfig.json 中启用 strict 模式和 noUncheckedIndexedAccess 以获得最大的类型安全性
- 对于对象形状优先使用 interface 而不是 type,以获得更好的错误消息和声明合并
- 使用 unknown 而不是 any 来保证类型安全,然后在使用值之前使用类型守卫进行缩小
避免
- 使用 any 类型来绕过错误,而不是正确地为值添加类型
- 过度使用类型断言(as Type)在没有正当理由的情况下绕过类型检查
- 当更简单的解决方案可行时,使用复杂的泛型过度设计类型