MST
星途 面试题库
面试题:深度解析TypeScript类型查询操作符在复杂泛型场景中的递归应用
编写一个类型 `DeepPartial<T>`,它能将一个对象类型 `T` 的所有属性及其子属性都变为可选。例如,对于 `type Obj = { a: { b: { c: string } } }`,`DeepPartial<Obj>` 应该得到 `{ a?: { b?: { c?: string } } }`。要求使用类型查询操作符以及递归的方式来实现,不能使用第三方库。请给出完整的TypeScript类型定义。
36.1万 热度
难度
前端开发
TypeScript
知识考点
面试题答案
一键面试
type DeepPartial<T> = { [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P]; };