在現代 TypeScript 開發中,經常會遇到定義各種資料模型結構的複雜介面。通常,需要從介面中提取屬性名稱數組來執行動態操作或建立派生值。
考慮以下表示數據庫表的接口:
<code class="typescript">export interface IMyTable { id: number; title: string; createdAt: Date; isDeleted: boolean; }</code>
我們希望從此接口獲取列名數組:
<code class="typescript">const IMyTable = ["id", "title", "createdAt", "isDeleted"];</code>
自TypeScript 2.3 版本(2.4 中修復了錯誤) ),定制變壓器為這個問題提供了一個優雅的解決方案。以下是使用「ts-transformer-keys」函式庫的方法:
<code class="typescript">import { keys } from 'ts-transformer-keys'; interface Props { id: string; name: string; age: number; } const keysOfProps = keys<Props>(); console.log(keysOfProps); // ['id', 'name', 'age']</code>
此方法需要使用 TypeScript 轉換 API,而不是直接執行「tsc」。需要注意的是,自訂變壓器仍處於早期階段,可能需要額外的配置。
以上是如何從 TypeScript 介面中提取屬性鍵數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!