我有一个字符串数组:
let foo = ["bar", "baz"];
我希望执行与keyof type foo
类似的操作,但是对于数组而不是对象:
type DESIRED_RESULT = "bar"|"baz";
有没有办法将数组中的所有唯一字符串转换为类型?
答案 0 :(得分:1)
foo
被推断为string[]
数组值根本不进入类型系统,所以这是不可能的。
如果你把它放在类型系统中,它becomes possible:
let foo: ["bar", "baz"];
let bar: typeof foo[number] = "";
类型
'""'
不能分配给'"bar" | "baz"'
类型。