函数具有类型变量<T>时如何获取函数参数?

时间:2019-07-06 14:07:01

标签: typescript

我有一个打字稿功能,如下所示:

function test<T>(func: (thing: T) => {}) {
}

如何将花药功能的类型定义为“测试”功能的某些参数?

当前的打字稿版本为3.5.1。如有必要,我将进行更改。

我知道打字稿具有类型函数Parameters,我可以将其用于没有<T>的普通函数。 如下:


function normalFun(a: string, b: string) {

}

function newNormalFun(...args: Parameters<typeof normalFun>) {
// now typeof args is [string,string]
}

但是对于test的{​​{1}}函数来说,它是没有用的。

参数功能:

<T>

它使用//from typescript lib.es5.d.ts type Parameters<T extends (...args: any) => any> = T extends (...args: infer P) => any ? P : never; 获取目标。 有没有一种方法可以用已知的T来推断函数的类型?

0 个答案:

没有答案