下載技能 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 方法。
使用泛型、條件類型和模板字面量類型實現完整的類型安全事件發射器。支援多個具有特定 payload 類型的事件。
最佳實務
- 使用 unknown 而非 any,以在操作前強制執行類型檢查
- 優先使用 interface 描述物件形狀,使用 type 描述聯合類型和複雜類型
- 善用 TypeScript 的類型推斷,避免不必要的類型註釋
避免
- 過度使用 any 類型,這會破壞 TypeScript 的類型安全保證
- 建立過於複雜的類型,導致編譯速度變慢且降低可讀性
- 忽略嚴格的 null 檢查,可能導致生產環境中的執行時錯誤
常見問題
TypeScript 中 interface 和 type 有什麼區別?
什麼時候應該使用泛型而非聯合類型?
TypeScript 中的條件類型是如何運作的?
什麼是映射類型,什麼時候應該使用它們?
如何測試我的 TypeScript 類型?
模板字面量類型的用途是什麼?
開發者詳情
作者
sickn33授權
MIT
儲存庫
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/typescript-advanced-types引用
main
檔案結構