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"]