我有一个打字稿功能,如下所示:
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来推断函数的类型?