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

请解释 TypeScript 内置工具类型 ConstructorParameters 的功能与用途。

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

考察说明

考查对 TypeScript 内置工具类型 ConstructorParameters 的理解。

回答思路

  1. 【回答框架 1】ConstructorParameters 是 TypeScript 内置的工具类型,用于提取构造函数类型的参数元组。其类型定义为 type ConstructorParameters<T extends abstract new (...args: any) => any> = T extends abstract new (...args: infer P) => any ? P : never;对满足约束的构造函数类型,返回构造函数参数的类型元组,否则返回 never。
  2. 【回答框架 2】它常与 typeof 关键字组合使用,例如获取一个类构造函数的参数类型,进而实现参数类型的复用或动态传递场景。它只接收构造函数类型,对普通函数类型不适用,普通函数参数类型应使用 Parameters。
  3. 【回答框架 3】在条件类型中,它通过 infer 推断参数列表,与类似工具如 Parameters 和 ReturnType 形成族系,是类型编程中的常用工具。
  4. 【回答框架 4】在实际开发中,ConstructorParameters 可用于泛型约束、参数校验或构建工厂函数时获取构造参数类型,增强类型安全与代码复用。
  5. 【回答框架 5】需要区分它与实例类型(InstanceType)的关系:ConstructorParameters 取参数类型,InstanceType 取实例类型,两者通常配合使用。
  6. 【关键点 1】ConstructorParameters 提取构造函数参数的类型元组。
  7. 【关键点 2】仅适用于构造函数类型,不适用于普通函数。
  8. 【关键点 3】通过 infer 推断参数列表。
  9. 【关键点 4】常与 typeof 和泛型约束结合。
  10. 【关键点 5】与 Parameters 和 ReturnType 同属条件类型工具。
  11. 【易错点 1】误将 ConstructorParameters 用于普通函数,应使用 Parameters。
  12. 【易错点 2】忽略构造函数的约束条件,可能导致类型错误。
  13. 【易错点 3】未理解它返回元组类型,在解构或索引时需要正确处理。