// from
const obj = {
a: {
aa: 'A',
cc: 'C',
},
b: {
bb: 'B',
cc: 'C',
}
} as const;
// to
type ObjValue = 'A' | 'B' | 'C';
嗨,我想从对象中获取联合类型
所以我尝试了typeof obj[keyof typeof obj]
模式,但它只是返回这个。
type ObjValue = 'C'
我如何得到联合类型只组成字符串值的对象没有String
索引?
我不确定为什么typeof obj[keyof typeof obj]
模式不真正与联合工作。使用映射类型可以解决这个问题。
type ObjValue = {
[K in keyof typeof obj]: typeof obj[K][keyof (typeof obj[K])]
}[keyof typeof obj]
// type ObjValue = "A" | "C" | "B"
游乐场