Recientemente comencé a aprender mecanografiado y angular y luego, me encontré con un código corto como este interface transform extends Function{ (param:string):string; }
Así que me pregunto, ¿qué tipo de métodos o tipos de devolución heredó la interfaz de transform de la interfaz de Function ? Nuevamente, si decido tener un método que devuelva la transform de la siguiente manera: coordinate ():transform { } , ¿cuáles son los tipos que se espera de la coordinación para devolver string aparte?
extends Function agrega métodos Function como call apply , etc. y también el comportamiento de la Function , pero es redundante ya que tiene una definición de función dentro de la interfaz:
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