MST

星途 面试题库

面试题:深入理解TypeScript中boolean类型在条件类型和映射类型中的应用

创建一个映射类型`BoolMap`,它接收一个类型参数`T`。如果`T`是`boolean`类型,将其映射为一个新类型,该新类型有两个属性`trueValue`和`falseValue`,分别对应`true`和`false`的返回值类型(可以自行定义这两个返回值类型);如果`T`不是`boolean`类型,保持`T`不变。同时,基于`BoolMap`,实现一个条件类型`BoolConditional`,当传入类型为`boolean`时,使用`BoolMap`进行映射,否则返回`never`。请详细实现这两个类型。
28.3万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
// 创建映射类型BoolMap
type BoolMap<T> = T extends boolean 
  ? {
      trueValue: string; // 自行定义trueValue返回值类型为string
      falseValue: number; // 自行定义falseValue返回值类型为number
    }
  : T;

// 实现条件类型BoolConditional
type BoolConditional<T> = T extends boolean 
  ? BoolMap<T>
  : never;