我有一个字符串数组:
let foo = ["bar", "baz"];
我希望执行类似的操作keyof type foo
,但对于数组而不是对象:
type DESIRED_RESULT = "bar"|"baz";
有没有办法将数组中的所有唯一字符串转换为类型?
foo
被推断为string[]
.
数组值根本不进入类型系统,因此这是不可能的。
如果你把它放入类型系统中,它成为可能 https://www.typescriptlang.org/play/index.html#src=let%20foo%3A%20%5B%22bar%22%2C%20%22baz%22%5D%3B%0D%0A%0D%0Alet%20bar%3A%20typeof%20foo%5Bnumber%5D%20%3D%20%22%22%3B:
let foo: ["bar", "baz"];
let bar: typeof foo[number] = "";
Type '""'
不可分配给类型'"bar" | "baz"'
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)