MST
星途 面试题库

面试题:TypeScript映射类型下如何根据条件转换对象属性类型

假设你有一个对象类型,其中部分属性是字符串类型,部分是数字类型。请编写一个TypeScript映射类型,当属性是字符串类型时,将其转换为大写形式的字符串类型,数字类型保持不变,并给出使用该映射类型的示例。
25.0万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
// 定义映射类型
type TransformProps<T> = {
    [K in keyof T]: T[K] extends string? Uppercase<T[K]> : T[K];
};

// 示例对象
interface Example {
    name: string;
    age: number;
}

// 使用映射类型
type TransformedExample = TransformProps<Example>;

// 示例使用
const example: TransformedExample = {
    name: "JOHN",
    age: 30
};