如何在TypeScript中定义类方法的类型?对于常规功能,我会做
StringBuilder
是否可以使用Listener接口声明方法?
interface Listener { (foo: string, bar: any): void; }
// foo and bar will be typed according to the Listener interface
let listener: Listener = function(foo, bar) { };
这将使我更容易覆盖子类中的方法,因为知道方法需要符合Listener接口。
答案 0 :(得分:2)
如果要确保只传递对象,例如“具有”侦听器功能的函数,您还可以使用接口。
interface IListener{
listener(type: string, payload: any):void
}
function somethingElse( l:IListener ){
l.listener( "hello", "heavy payload" );
}
希望这有帮助。
答案 1 :(得分:1)
class Foo {
//as method
foo(): boolean {
return true;
}
//as lambda method
bar = (): boolean => {
return true;
}
}