我有一个可调用的类型别名或接口,例如
type MyCallable = (n: number) => string
然后我有一个类,它的方法之一就是该可调用类型:
class MyClass {
myMethod(n: number): string {
return ''
}
}
我想使用MyCallable
类型声明其类型:
class MyClass {
myMethod(n): MyCallable {
return ''
}
}
显然,这种方法行不通,因为myMethod
不会返回一个MyCallable
,但是本身是一个MyCallable
在TS中甚至有可能吗?
答案 0 :(得分:3)
一种简单的方法是声明和实现接口:
type MyCallable = (n: number) => string
type WithCallable = {
myMethod: MyCallable
}
class MyClass implements WithCallable {
myMethod(n) {
return ''
}
}