假设我们遇到以下情况:
class SomeClass {
public someProperty;
public someMethodA(): void {
this.someProperty = this.someMethodB()
}
public someMethodB() {
...some code...
}
}
我希望 someProperty 的类型与 someMethodB 返回的类型相同。也就是说,如果 someMethodB 返回数字,那么 someProperty 的类型也应该是数字。 如果以后有人改变 someMethodB 的方式改变了返回值的类型,那么 someProperty 的类型也应自动改变。
答案 0 :(得分:2)
您可以使用查找类型SomeClass["someMethodB"]
来引用方法的类型,并使用ReturnType
内置类型别名来提取返回类型:
public someProperty: ReturnType<SomeClass["someMethodB"]>;