2
我有一个字符串数组:转换串[]文字串类型字面
let foo = ["bar", "baz"];
我希望执行类似于keyof type foo
东西,但对于一个阵列而不是一个对象:
type DESIRED_RESULT = "bar"|"baz";
有没有办法将数组中的所有唯一字符串转换为类型?
我有一个字符串数组:转换串[]文字串类型字面
let foo = ["bar", "baz"];
我希望执行类似于keyof type foo
东西,但对于一个阵列而不是一个对象:
type DESIRED_RESULT = "bar"|"baz";
有没有办法将数组中的所有唯一字符串转换为类型?
foo
被推断为string[]
。
数组值根本不会进入类型系统,所以这是不可能的。
如果你把它的类型系统,它becomes possible:
let foo: ["bar", "baz"];
let bar: typeof foo[number] = "";
类型
'""'
是不能分配给类型'"bar" | "baz"'
。