Die Codebeispiele in dieser Antwort übernehmen die folgende Erklärung ab:
var implementation: MyInterface;
Die Bereitstellung einer Implementierung einer aufrufbare Schnittstelle
Als Follow-up zu der akzeptierten Antwort , wie einige seiner commentors vorgeschlagen, eine Funktion , die der Aufruf Unterschrift Schnittstelle entspricht implizit die Schnittstelle implementiert. So können Sie jede passende Funktion als Implementierung verwenden.
Beispielsweise:
implementation = () => "Hello";
Sie müssen nicht explizit angeben, dass die Funktion die Schnittstelle implementiert. Wenn Sie jedoch explizit sein wollen, können Sie eine Besetzung verwenden:
implementation = <MyInterface>() => "Hello";
Die Bereitstellung einer wiederverwendbare Implementierung
Wenn Sie eine wiederverwendbare Implementierung der Schnittstelle, wie Sie normalerweise würde mit einem Java oder C # Schnittstelle herstellen möchten, speichern Sie nur die Funktion irgendwo zugänglich zu den Verbrauchern.
Beispielsweise:
function Greet() {
return "Hello";
}
implementation = Greet;
Die Bereitstellung einer parametrisiert Implementierung
Sie können in der Lage sein, die Umsetzung in der gleichen Art und Weise parametrisieren, dass Sie eine Klasse parametrisieren könnten. Hier ist eine Möglichkeit, dies zu tun:
function MakeGreeter(greeting: string) {
return () => greeting;
}
implementation = MakeGreeter("Hello");
Wenn Sie möchten, das Ergebnis als Schnittstelle eingegeben werden, setzen Sie nur explizit den Rückgabetyp oder Guss der Wert zurückgegeben wird.