MST

星途 面试题库

面试题:TypeScript 复杂映射类型及类型递归

给定一个嵌套的接口类型`interface Nested { a: { b: { c: string; }; d: number; }; e: boolean; }`,请使用TypeScript映射类型和类型递归,将所有叶子节点属性(即不再包含对象的属性)类型变为`null`,并返回新的类型。例如,上述接口转换后应类似`interface Transformed { a: { b: { c: null; }; d: null; }; e: null; }`
36.7万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

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

interface Nested {
  a: {
    b: {
      c: string;
    };
    d: number;
  };
  e: boolean;
}

type Transformed = TransformToNull<Nested>;