1
枚舉類型是否可能? 例如,如果我聲明:創建一個我可以列舉的類型
type myType = 'value1' | 'value2';
然後我想用myType
所有值初始化myTypeArray
。
let myTypeArray: myType[] = // enumerate on the values authorized by `myType`.
是否有一個帶打字機的結構允許?
枚舉類型是否可能? 例如,如果我聲明:創建一個我可以列舉的類型
type myType = 'value1' | 'value2';
然後我想用myType
所有值初始化myTypeArray
。
let myTypeArray: myType[] = // enumerate on the values authorized by `myType`.
是否有一個帶打字機的結構允許?
你不能用類型別名來做到這一點,因爲它們沒有被編譯到javascript輸出中,因此在運行時不可用。
你可以做string enums類似的事情:
enum MyType {
Value1 = "value1",
Value2 = "value2"
};
let myTypeKeys: string[] = Object.keys(MyType);
console.log(myTypeKeys); // ["Value1", "Value2"]
let myTypeValues: string[] = Object.keys(MyType).map(key => MyType[key]);
console.log(myTypeValues); // ["value1", "value2"]