How to iterate a string literal type in typescript
如何在typescript中迭代字符串文本类型?
例如,我定义了这个类型
1 | type Name ="Bill Gates" |"Steve Jobs" |"Linus Torvalds"; |
我想这样迭代
1 2 3 | for (let name of Name) { console.log("Possible name:" + name); } |
或者这在typescript中是不可能的?
因为typescript 2.4,所以可以使用字符串类型的枚举。这些枚举可以很容易地迭代:
https://blogs.msdn.microsoft.com/typescript/2017/06/27/announcing-typescript-2-4/
由于typescript只是一个编译器,所以运行时不存在任何类型信息。这意味着不幸的是,您不能迭代一个类型。
根据您尝试执行的操作,可以使用枚举来存储名称的索引,然后在数组中检索这些索引。
afaik无法将字符串联合(类型)"提升"到运行时JS(值)。
我发现最接近的解决方案是使用