是否可以对类型进行枚举。 例如,如果我声明:
type myType = 'value1' | 'value2';
然后我想用myTypeArray
的所有值初始化myType
。
let myTypeArray: myType[] = // enumerate on the values authorized by `myType`.
是否有一个带有打字稿的结构允许?
答案 0 :(得分:2)
您不能使用类型别名,因为它们未编译到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"]