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

请解释 TypeScript 中 ReturnType 这个内置工具类型的具体作用。

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

考察说明

考察对 TypeScript 内置工具类型 ReturnType 的理解和应用。

回答思路

  1. 【回答框架 1】ReturnType 是 TypeScript 内置的条件类型工具,它用于提取函数类型的返回值类型。例如,type T = ReturnType<() => string> 的结果是 string。它接受一个函数类型参数,并返回该函数的返回值类型。
  2. 【回答框架 2】其原理基于条件类型和 infer 关键字,具体实现为:type ReturnType<T extends (...args: any) => any> = T extends (...args: any) => infer R ? R : any。当 T 是函数类型时,infer R 推断出返回值类型,否则返回 any。
  3. 【回答框架 3】实际应用场景包括:从已有函数类型中提取返回值类型以复用,例如在函数封装或类型推导中避免重复定义;也可以结合 typeof 操作符获取现有函数的返回值类型,如 ReturnType<typeof myFunction>。
  4. 【回答框架 4】需要注意的是,ReturnType 只适用于函数类型,如果传入非函数类型,会触发类型错误。此外,它提取的是声明类型,而不是运行时值。
  5. 【关键点 1】ReturnType 用于提取函数类型的返回值类型。
  6. 【关键点 2】原理是条件类型与 infer 推断。
  7. 【关键点 3】可结合 typeof 用于已有函数。
  8. 【关键点 4】仅支持函数类型,否则报错。
  9. 【易错点 1】ReturnType 只能用于函数类型,不能用于接口或类类型。
  10. 【易错点 2】它提取的是静态声明的返回值类型,不考虑函数重载或实现细节。