typescript关键词Parameters和ReturnType
在TypeScript中,Parameters
和ReturnType
是两个相关的类型工具,它们用于获取函数的参数类型组成的元组,以及返回值类型。
Parameters
Parameters
是一个内置的泛型,它可以用来取得函数的参数类型组成的元组。
例如,假设你有一个函数add
,它接受两个数字并返回它们的和:
function add(a: number, b: number): number {
return a + b;
}
你可以使用Parameters
来获取这个函数的参数类型组成的元组:
type AddParams = Parameters<typeof add>; // [number, number]
ReturnType
ReturnType
是一个内置的泛型,它可以用来取得函数返回值的类型。
同样,对于上面的add
函数,你可以使用ReturnType
来获取其返回类型:
type AddReturn = ReturnType<typeof add>; // number
使用示例
你可以结合使用Parameters
和ReturnType
来创建一个泛型,它可以用来创建一个具有相同参数和返回类型的新函数类型:
function double(a: number): number {
return a * 2;
}
type Double = (...args: Parameters<typeof double>) => ReturnType<typeof double>;
const doubleWrapper: Double = (a) => double(a);
在这个例子中,Double
是一个泛型,它表示一个接受和double
函数相同参数并返回相同类型结果的函数。doubleWrapper
是一个符合Double
类型的函数,它包装了double
函数。
评论已关闭