TypeScript如何基于已有类型A、B声明符合要求的新对象类型C?
TypeScript 类型声明解法
你可以通过两种方式基于现有类型 A 和 B 生成符合要求的类型 C:
方式1:使用原生映射类型
type C = { [K in keyof A]: B }
方式2:使用内置工具类型(更简洁)
type C = Record<keyof A, B>
原理解释
keyof A会提取类型A的所有键组成联合类型:"home" | "info" | "about"- 映射类型语法
[K in keyof A]会遍历上述联合类型的每个值,作为新类型的键 - 两种写法最终生成的
C类型和你给出的预期效果完全一致
内容的提问来源于stack exchange,提问作者Zagaek98y
相关产品推荐
相关产品推荐

