如何迭代打字稿中的字符串文字类型?如何迭代打字稿中的字符串文字类型
例如我定义这种类型
type Name = "Bill Gates" | "Steve Jobs" | "Linus Torvalds";
我要重复这样的
for (let name of Name) {
console.log("Possible name: " + name);
}
或者,这是根本不可能的打字稿?
如何迭代打字稿中的字符串文字类型?如何迭代打字稿中的字符串文字类型
例如我定义这种类型
type Name = "Bill Gates" | "Steve Jobs" | "Linus Torvalds";
我要重复这样的
for (let name of Name) {
console.log("Possible name: " + name);
}
或者,这是根本不可能的打字稿?
由于TypeScript只是一个编译器,因此运行时中没有任何输入信息。这意味着,不幸的是你不能遍历一个类型。
根据您要做的事情,您可能可以使用枚举来存储名称索引,然后您可以在数组中检索该索引。
AFAIK没有办法将字符串联合(类型)“提升”为运行时JS(值)。
我发现的最接近的解决方案是使用enum
:example/related issue。
由于typescript 2.4可以使用字符串类型的枚举。这些枚举可以很容易地迭代:
https://blogs.msdn.microsoft.com/typescript/2017/06/27/announcing-typescript-2-4/
不可能。 :( 另请参阅:https://github.com/Microsoft/TypeScript/issues/3628 – Paleo