假设我有一组带有相同签名的方法。
class Foo {
method1(foo: string): number { return 42; }
method2(foo: string): number { return 99; }
}
我可以为方法签名定义一个接口:
interface Method { (foo: string) => number; }
我想避免为每种方法反复重复签名。我知道如果我分配一个变量,我可以说
const fn: Method = foo => 99;
但是在定义方法时我该怎么做?我想得到相当于
class Foo {
method1: Method(foo) { return 42; }
method2: Method(foo) { return 99; }
}
但这显然不起作用。
答案 0 :(得分:3)
但是在定义方法时如何做到这一点
就像你使用变量一样
class Foo {
method1: Method = (foo) => { return 42; }
method2: Method = (foo) => { return 99; }
}
注意:这确实使它成为成员(而不是方法),但性能影响无关紧要。