MST

星途 面试题库

面试题:TypeScript中const泛型参数在条件类型和映射类型结合场景下的深度应用

定义一个类型`TransformObject`,它接受一个对象类型作为泛型参数,该对象的属性值类型是联合类型。利用`const`泛型参数,结合条件类型和映射类型,实现将对象中所有属性值为`string`类型的属性名转换为大写,其他属性保持不变。例如输入`{name: 'John', age: 30}`,输出`{NAME: 'John', age: 30}`
19.6万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
type TransformObject<T extends Record<string, unknown>> = {
    [K in keyof T as T[K] extends string ? Uppercase<string & K> : K]: T[K];
};