前端/移动开发面试题更新 2026-08-05

请解释 TypeScript 中条件类型的含义及其工作原理。

前端/移动开发技术原理TypeScript

考察说明

考查对 TypeScript 类型系统高级特性中条件类型的理解。

回答思路

  1. 【回答框架 1】条件类型是 TypeScript 中的一种类型操作符,形式为 T extends U ? X : Y,根据类型兼容性条件在类型层面进行分支选择。它允许基于类型关系动态决定最终类型。
  2. 【回答框架 2】条件类型与 JavaScript 三元表达式类似,但作用于类型。当 T 可赋值给 U 时,结果类型为 X,否则为 Y。典型应用包括类型过滤、类型映射和工具类型的实现。
  3. 【回答框架 3】分布式条件类型:当 T 是裸类型参数且为联合类型时,条件类型会分布在联合类型的每个成员上,分别应用条件后结果再组成联合。例如,T extends any ? T[] : never 可将联合类型转换为对应数组联合。
  4. 【回答框架 4】实际应用包括内置工具类型如 Exclude、Extract、NonNullable,以及递归条件类型处理嵌套结构。
  5. 【回答框架 5】条件类型常与 infer 关键字结合,用于类型推断和提取,例如 ReturnType<T> 从函数类型提取返回类型。
  6. 【关键点 1】条件类型通过 extends 判断类型可赋值性,返回不同分支。
  7. 【关键点 2】裸类型参数下的联合类型会触发分布式行为。
  8. 【关键点 3】infer 关键字用于在条件类型中推断并提取类型。
  9. 【关键点 4】内置工具类型 Exclude、Extract 等基于条件类型实现。