我有这个数组:
const arr = ["foo","bar","loo"]
我需要将其转换为打字稿类型
type arrTyp = "foo" | "bar" | "loo";
我怎么能用打字稿做这个?
解决方法
问题是arr不保留数组中的文字类型,它将被用于string [].如果使用函数强制字符串文字类型的推断,则提取类型是一件简单的事情:
function tuple<T extends string[]>(...o: T) { return o; } const arr = tuple("foo","loo") type arrTyp = typeof arr[number]; // "foo" | "bar" | "loo"
该函数强制编译器为arr推断字符串文字的元组.所以arr将被输入[“foo”,“bar”,“loo”].然后我们可以使用类型查询来获取元组中元素的并集.您可以阅读有关类型查询here的更多信息
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。