2017-06-21 49 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"'