【发布时间】:2018-10-23 14:07:25
【问题描述】:
TypeScript 2.8 中的新 ReturnType 是一项非常有用的功能,可让您提取特定函数的返回类型。
function foo(e: number): number {
return e;
}
type fooReturn = ReturnType<typeof foo>; // number
但是,我在泛型函数的上下文中使用它时遇到了问题。
function foo<T>(e: T): T {
return e;
}
type fooReturn = ReturnType<typeof foo>; // type fooReturn = {}
type fooReturn = ReturnType<typeof foo<number>>; // syntax error
type fooReturn = ReturnType<(typeof foo)<number>>; // syntax error
有没有办法提取泛型函数会给出特定类型参数的返回类型?
【问题讨论】:
-
小修正,
type fooReturn = ReturnType<typeof foo>;yieldsunknown。 -
TypeScript repo 中的相关问题:github.com/microsoft/TypeScript/issues/37181
-
应该很快就能实现。见this公关
标签: typescript generics