Koden eksempler i dette svaret anta følgende erklæring:
var implementation: MyInterface;
Å tilveiebringe en implementering av et kall grensesnitt
Som en oppfølging til den aksepterte svaret , som foreslått av noen av sine commentors, en funksjon som samsvarer med grensesnitt oppfordring signatur implisitt implementerer grensesnittet. Så du kan bruke noen matchende fungere som en implementering.
For eksempel:
implementation = () => "Hello";
Du trenger ikke å eksplisitt angi at funksjonen implementerer grensesnittet. Men hvis du ønsker å være eksplisitt, kan du bruke en cast:
implementation = <MyInterface>() => "Hello";
Å tilveiebringe et gjenbrukbart gjennomføring
Hvis du ønsker å produsere en gjenbrukbar implementering av grensesnittet som du normalt ville gjort med en Java eller C # grensesnitt, bare lagre funksjonen sted tilgjengelig for sine kunder.
For eksempel:
function Greet() {
return "Hello";
}
implementation = Greet;
Å tilveiebringe en parameterisert gjennomføring
Det kan være lurt å kunne Parameterisér gjennomføring på samme måte som du kan Parameterisér en klasse. Her er én måte å gjøre dette på:
function MakeGreeter(greeting: string) {
return () => greeting;
}
implementation = MakeGreeter("Hello");
Hvis du vil at resultatet skal være skrevet som grensesnitt, bare eksplisitt sette returtype eller kaste den verdien som skal returneres.