如何在 TypeScript 中获取类方法的返回类型

Posted

技术标签:

【中文标题】如何在 TypeScript 中获取类方法的返回类型【英文标题】:How do I get the return type of a class method in TypeScript 【发布时间】:2019-04-16 18:31:36 【问题描述】:

在较新的 TypeScript 版本中(我认为是 2.8 以后的版本?),我可以轻松获得函数的返回类型:

function f()  return "hi"; 
type MyType = ReturnType<typeof f>; //MyType is string

但我无法从类方法中获取相同的信息……

class MyClass 
  foo()  return "hi"; 

如何获取(new MyClass()).foo()的返回类型?

【问题讨论】:

【参考方案1】:

要获取属性或方法类型,可以使用indexed access type operator:

type FooReturnType = ReturnType<MyClass['foo']>;

【讨论】:

我已经找了好几个小时了!谢谢!

以上是关于如何在 TypeScript 中获取类方法的返回类型的主要内容,如果未能解决你的问题,请参考以下文章

在 TypeScript 中获取类方法的名称

在 TypeScript 中获取实例的类

如何让一个类在 Typescript 中实现调用签名?

如何从 TypeScript 函数返回一个类?

如何描述类的返回值?

如何在循环中发送http获取方法Typescript。