我想让Typescript递归地推断对象的键的类型及其子键。例如,给出以下声明:
const o:A<X> = {
a:'1',
b: {
c: '2'
}
}
我想定义A
,以使X
为"a"|"b"|"c"
。使用keyof
,我可以得到Typescript来推断第一层(即X = "a"|"b"
),而不是其后一层。是否可以获取Typescript来推断孙子节点的键类型?
答案 0 :(得分:0)
尝试一下:
type A<X extends string|number> = {
[id in X]?: string | A<X>
}