下载技能 ZIP
在 Claude 中上传
前往 设置 → 功能 → 技能 → 上传技能
开启并开始使用
测试它
正在使用“typescript-advanced-types”。 创建一个泛型合并函数,合并两个对象并保留它们的类型
预期结果:
function merge<T, U>(obj1: T, obj2: U): T & U { return { ...obj1, ...obj2 }; }
const result = merge({ name: 'John' }, { age: 30 });
// Type: { name: string } & { age: number }
// Usage: result.name (string), result.age (number)
正在使用“typescript-advanced-types”。 创建一个工具类型,使所有嵌套属性变为只读
预期结果:
type DeepReadonly<T> = {
readonly [P in keyof T]: T[P] extends object
? T[P] extends Function ? T[P] : DeepReadonly<T[P]>
: T[P];
};
// Usage: All nested properties become immutable at compile time
安全审计
安全Static analyzer detected 76 patterns but all are false positives. The skill contains documentation-only content with TypeScript code examples in markdown format. No executable code, network calls, or security risks present. All detected patterns are from code snippets used for educational purposes.
质量评分
你能构建什么
类型安全的库开发
构建具有强类型保证的可重用库和框架,提供出色的开发者体验。
复杂 API 客户端设计
创建类型安全的 API 客户端,自动推断请求参数、响应类型和错误处理。
企业级应用架构
为具有复杂数据模型和状态管理的大型应用程序实现强健的类型系统。
试试这些提示
创建一个接受任意类型并返回相同类型的泛型函数。展示 TypeScript 如何自动推断类型以及如何显式指定类型。
设计一个条件类型来检查一个类型是否继承另一个类型。使用它为字符串、数字和数组等常见数据类型创建类型级验证系统。
创建一个映射类型,将 API 响应类型的所有属性转换为可选且只读。包含键重映射以添加 getter 方法。
使用泛型、条件类型和模板字面量类型实现完整的类型安全事件发射器。支持具有特定负载类型的多个事件类型。
最佳实践
- 使用 unknown 代替 any 以强制执行操作前的类型检查
- 优先使用 interface 定义对象形状,使用 type 定义联合类型和复杂类型
- 利用 TypeScript 的类型推断,避免不必要的类型注解
避免
- 过度使用 any 类型,这会破坏 TypeScript 的类型安全保证
- 创建过于复杂的类型,会减慢编译速度并降低可读性
- 忽略严格空值检查,可能导致生产环境中的运行时错误