MST

星途 面试题库

面试题:TypeScript类型系统中条件类型的高级应用

实现一个高级的TypeScript类型工具`DeepPartial`,它可以递归地将一个对象类型的所有属性及其子属性转换为可选类型。例如输入`{a: {b: 1}}`,输出`{a?: {b?: number}}`。要求使用条件类型、映射类型等TypeScript类型系统的高级特性来完成。
50.5万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

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