De code voorbeelden in dit antwoord uitgegaan van de volgende verklaring:
var implementation: MyInterface;
Het verstrekken van een implementatie van een vervroegd aflosbaar-interface
Als follow-up van de geaccepteerde antwoord , zoals voorgesteld door een aantal van zijn commentors, een functie die overeenkomt met call handtekening van de interface impliciet implementeert de interface. Zo kunt u het even welke passende functie te gebruiken als een implementatie.
Bijvoorbeeld:
implementation = () => "Hello";
Je hoeft niet te expliciet dat de functie implementeert de interface. Echter, als je wilt expliciet te zijn, kunt u een cast te gebruiken:
implementation = <MyInterface>() => "Hello";
Het verstrekken van een herbruikbare implementatie
Wilt u een herbruikbare uitvoering van de interface te produceren zoals je normaal zou met een Java of C #-interface, alleen de functie ergens toegankelijk zijn voor de consument op te slaan.
Bijvoorbeeld:
function Greet() {
return "Hello";
}
implementation = Greet;
Het verstrekken van een geparametriseerd implementatie
Misschien wilt u in staat zijn om de uitvoering op dezelfde manier dat je een klasse zou kunnen parametreren parametreren. Hier is een manier om dit te doen:
function MakeGreeter(greeting: string) {
return () => greeting;
}
implementation = MakeGreeter("Hello");
Als u wilt dat de uitkomst kan worden getypeerd als de interface, net expliciet de terugkeer type of gegoten de waarde wordt geretourneerd.