MST

星途 面试题库

面试题:TypeScript 映射类型结合 keyof 和 in 的复杂类型转换

假设有一个类型 `type Original = {a: string; b: number; c: boolean;}`,请使用映射类型、keyof 和 in 关键字,创建一个新类型 `Transformed`,它满足以下条件:如果 `Original` 的属性值类型是 `string`,则在 `Transformed` 中对应的属性值类型变为 `number`;如果是 `number`,则变为 `string`;如果是 `boolean`,则保持不变。
20.4万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
type Original = {a: string; b: number; c: boolean;}
type Transformed = {
    [K in keyof Original]: Original[K] extends string ? number : Original[K] extends number ? string : Original[K]
}