MST
星途 面试题库
面试题:TypeScript 泛型类型参数在条件类型与映射类型中的复杂应用
实现一个 TypeScript 类型 `TransformObject`,它接受一个对象类型 `T` 作为泛型参数。如果 `T` 中的属性值类型为 `string`,则将其转换为 `number` 类型,否则保持不变。例如,`type Input = {name: string, value: number}; type Output = TransformObject<Input>;`,`Output` 类型应该是 `{name: number, value: number}`。请使用条件类型和映射类型完成此实现。
14.3万 热度
难度
前端开发
TypeScript
知识考点
面试题答案
一键面试
type TransformObject<T> = { [K in keyof T]: T[K] extends string? number : T[K]; };