2017-06-21 52 views
2

我有一個字符串數組:轉換串[]文​​字串類型字面

let foo = ["bar", "baz"]; 

我希望執行類似於keyof type foo東西,但對於一個陣列而不是一個對象:

type DESIRED_RESULT = "bar"|"baz"; 

有沒有辦法將數組中的所有唯一字符串轉換爲類型?

回答

1

foo被推斷爲string[]
數組值根本不會進入類型系統,所以這是不可能的。

如果你把它的類型系統,它becomes possible

let foo: ["bar", "baz"]; 
let bar: typeof foo[number] = ""; 

類型'""'是不能分配給類型'"bar" | "baz"'