Open xcatliu opened 4 years ago
之前学习过,可以使用接口的方式来定义一个函数需要符合的形状:
interface SearchFunc { (source: string, subString: string): boolean; } let mySearch: SearchFunc; mySearch = function(source: string, subString: string) { return source.search(subString) !== -1; }
有时候,一个函数还可以有自己的属性和方法:
interface Counter { (start: number): string; interval: number; reset(): void; } function getCounter(): Counter { let counter = <Counter>function (start: number) { }; counter.interval = 123; counter.reset = function () { }; return counter; } let c = getCounter(); c(10); c.reset(); c.interval = 5.0;
混合类型
之前学习过,可以使用接口的方式来定义一个函数需要符合的形状:
有时候,一个函数还可以有自己的属性和方法: