MST

星途 面试题库

面试题:TypeScript条件类型结合泛型:复杂对象属性转换

给定一个TypeScript类型 `DeepPartial<T>`,它可以将对象类型 `T` 的所有属性及其子属性都变为可选。例如,对于类型 `{ a: { b: number } }`,`DeepPartial` 后的类型应为 `{ a?: { b?: number } }`。请实现这个 `DeepPartial` 类型。
46.4万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
type DeepPartial<T> = {
    [P in keyof T]?: T[P] extends object
      ? DeepPartial<T[P]>
       : T[P];
};