MST
星途 面试题库
面试题:TypeScript 条件类型与泛型编程的深度应用
实现一个复杂的泛型工具类型 `DeepPartial`,它可以将一个对象类型的所有属性及其子属性都变为可选。例如,给定类型 `{ a: { b: number } }`,应用 `DeepPartial` 后变为 `{ a?: { b?: number } }`。需要考虑对象嵌套多层的情况,且要使用条件类型来实现。
22.9万 热度
难度
前端开发
TypeScript
知识考点
面试题答案
一键面试
type DeepPartial<T> = T extends object ? { [P in keyof T]?: DeepPartial<T[P]>; } : T;