如何迭代打字稿中的字符串文字類型?如何迭代打字稿中的字符串文字類型
例如我定義這種類型
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