MST

星途 面试题库

面试题:TypeScript 中类型体操结合 number、string、boolean 的综合运用

使用类型体操,创建一个类型工具 `TypeTransformer`,它接受三个类型参数,分别为 `Num`(基于 number 类型)、`Str`(基于 string 类型)、`Bool`(基于 boolean 类型)。当 `Bool` 为 `true` 时,返回 `Num` 类型加 1 后的类型;当 `Bool` 为 `false` 时,返回 `Str` 类型字符串长度的类型。要求尽可能使用高级类型技巧实现。
21.2万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
type TypeTransformer<Num extends number, Str extends string, Bool extends boolean> = 
  Bool extends true 
  ? Num extends number ? Num + 1 : never
   : Str extends string ? Str['length'] : never;