在TypeScript中,
Record<K, T>
是一個工具型別(Utility Type),它用來構建一個對象型別,這個對象型別的所有鍵(keys)都是 K
類型,對應的值(values)都是 T
類型。換句話說,Record<K, T>
創建了一個映射從 K
到 T
的對象型別。舉一個例子:
在這個例子中,
speeds
是一個對象,它的鍵是 Vehicle
型別(即 'car', 'bike', 'bus'),而對應的值是 Speed
型別(即數字型別 number
)。在您提供的代碼中:
這行代碼定義了一個名為
store
的屬性,它是一個對象。該對象的鍵是 string
類型,對應的值也是 string
類型。這實際上等效於使用 { [key: string]: string }
來定義對象型別。這樣定義的好處是提供了一個清晰、簡潔的方式來描述對象的鍵值型別,而不需要寫出更冗長的型別註解。這使得代碼更易於閱讀和維護。