如何提取TypeScript映射类型接口ParsedQs的属性值类型?
直接使用 TypeScript 内置的索引访问类型就可以实现,完全不需要手动复制原联合类型代码:
type ParsedQsValue = ParsedQs[string]
原理很简单:你定义的ParsedQs是带字符串类型索引签名的接口,ParsedQs[string]的作用就是提取该接口所有字符串键对应的取值类型,得到的结果和你手动写的联合类型完全等价。后续如果ParsedQs的索引取值类型有调整,ParsedQsValue也会自动同步更新,不需要手动维护。
你可以自行验证类型兼容性:不管是赋值undefined、字符串、字符串数组、ParsedQs类型对象还是ParsedQs数组,都可以正常通过类型校验。
内容的提问来源于stack exchange,提问作者Yuki
相关产品推荐
相关产品推荐

