例如,我有这个类型。
但是它不起作用,我不确定原因。
type Foo = {
foo?: number
bar: string
obj?: {
qwe?: number
asd: string
}
}
我希望能够创建一个类型
type Foo2 = {
foo: number
obj: {
qwe: number
}
}
我尝试过这个
type OptionalKeys<T> = {[P in keyof T]: T[P] extends undefined ? P : never }[keyof T]
type PickOptionalProperties<T> = {
[P in OptionalKeys<T>]-?: PickOptionalProperties<T[P]>
};
type Foo2 = PickOptionalProperties<Foo>
const o: Foo2 = {
}
但是它不起作用,我不确定原因。