[英]Interface keys from array in TypeScript
有沒有辦法強制從字符串數組中使用接口的鍵:
例如,如果我們有以下數組:
const myArray = ['key1', 'key2'];
我想創建一個名為MyInterface
的新接口,它將強制所有myArray
條目成為對象鍵:
const myObj: MyInterface = {
'key1': true,
'key2': false,
}
您可以為此目的使用keyof
運算符。
interface MyInterface {
key1: boolean;
key2: boolean;
}
const myObj: MyInterface = {
key1: true,
key2: false,
}
const myArray: Array<keyof MyInterface> = ['key1', 'key2'];
// or ...
const myOtherArray: Array<keyof typeof myObj> = ['key1', 'key2'];
你也可以像這樣倒退
const myArray = ['key1', 'key2'] as const;
type MyType = Record<typeof myArray[number], boolean>;
const myObj: MyType = {
key1: true,
key2: false,
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.