前端 TypeScript 面试题, TypeScript 的内置工具类型 ConstructorParameters 有什么作用?
前端 TypeScript 面试题, TypeScript 的内置工具类型 ConstructorParameters 有什么作用?
QA
Step 1
Q:: TypeScript 的内置工具类型 ConstructorParameters 有什么作用?
A:: ConstructorParameters 是 TypeScript 中的一个内置工具类型,用于获取构造函数类型(即类构造函数或函数类型)的参数类型列表。它的作用是将构造函数中的参数类型提取出来,并返回一个元组类型。具体来说,假设你有一个构造函数类型 T
,使用 ConstructorParameters<T>
可以得到构造函数的参数类型组成的元组。例如:
class MyClass {
constructor(public name: string, public age: number) {}
}
type Params = ConstructorParameters<typeof MyClass>;
// Params 为 [string, number]
这个工具类型在一些高级类型操作和泛型编程中非常有用。
Step 2
Q:: ConstructorParameters 与 Parameters 有什么区别?
A:: ConstructorParameters 和 Parameters 都是 TypeScript 中的工具类型,但它们的作用对象不同。ConstructorParameters 作用于构造函数类型,用于获取构造函数的参数类型组成的元组;而 Parameters 则作用于普通函数类型,用于获取函数的参数类型组成的元组。例如:
function myFunction(a: string, b: number) {}
type Params = Parameters<typeof myFunction>;
// Params 为 [string, number]
它们的使用场景也略有不同,一个是用来处理类构造函数的参数类型,一个是处理普通函数的参数类型。
用途
面试 ConstructorParameters 工具类型的目的是考察应聘者对 TypeScript 类型系统的理解,尤其是对泛型和工具类型的熟悉程度。在实际生产环境中,ConstructorParameters 主要用于构造类型安全的工厂函数、依赖注入系统或高级的类型操作,能够帮助开发者更好地处理复杂的类型推断和编译时安全性检查。\n相关问题
🦆
TypeScript 中的 infer 关键字有什么作用?▷
🦆
TypeScript 中的工具类型 Parameters 有什么作用?▷
🦆
如何在 TypeScript 中使用 ReturnType 工具类型?▷
🦆
TypeScript 中的 keyof 操作符有什么作用?▷