I recently started learning typescript & angular and then, I came across a short code like this interface transform extends Function{ (param:string):string; }
So I'm wondering, what kind of methods or return types the transform interface inherited from the Function interface? Again if I decide to have a method that returns transform like so: coordinate ():transform { }, what are the types expected of coordinate to return aside string?
extends Function adds Function methods like call apply etc... and also the Function behavior, but it's redundant as you have a function definition inside the interface:
interface ExtendedFunction extends Function { }
declare const extendedFunction: ExtendedFunction;
extendedFunction.apply // Works
extendedFunction('bla', 1, true); // Works
interface Transform {
(param: string): string;
}
declare const transform: Transform;
transform.apply // Works
transform('bla', 1, true) // Fails
transform('bla') // Works