MST

星途 面试题库

面试题:TypeScript映射类型的条件类型结合应用

给定类型`interface Data { id: number; name: string; value: boolean; }`,使用映射类型和条件类型创建一个新类型,要求如果属性值为`string`类型,新类型中该属性变为可选,其他类型保持不变,写出实现代码。
47.9万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
interface Data {
    id: number;
    name: string;
    value: boolean;
}

type NewData = {
    [K in keyof Data]: Data[K] extends string? Data[K] | undefined : Data[K];
};