Looking for typescript Keywords? Try Ask4Keywords

TypeScriptSchnittstellen


Einführung

Eine Schnittstelle gibt eine Liste von Feldern und Funktionen an, die in jeder Klasse erwartet werden können, die die Schnittstelle implementiert. Umgekehrt kann eine Klasse eine Schnittstelle nicht implementieren, sofern nicht jedes Feld und jede Funktion auf der Schnittstelle angegeben ist.

Der Hauptvorteil der Verwendung von Schnittstellen besteht darin, dass Objekte unterschiedlicher Art auf polymorphe Weise verwendet werden können. Dies liegt daran, dass jede Klasse, die die Schnittstelle implementiert, mindestens diese Felder und Funktionen aufweist.

Syntax

  • Schnittstelle Schnittstellenname {
  • Parametername: Parametertyp;
  • optionalParameterName ?: parameterType;
  • }

Bemerkungen

Schnittstellen vs. Typ-Aliase

Schnittstellen sind gut geeignet, um die Form eines Objekts anzugeben, z. B. für ein Personenobjekt, das Sie angeben könnten

interface person {
    id?: number;
    name: string;
    age: number;
}

Was aber, wenn Sie die Art und Weise darstellen möchten, wie eine Person in einer SQL-Datenbank gespeichert ist? Da jeder DB-Eintrag aus einer Zeile mit einer Form [string, string, number] (also einem Array von Strings oder Zahlen) besteht, können Sie dies nicht als Objekt-Shape darstellen, da die Zeile keine Eigenschaften hat als solches ist es nur ein Array.

Dies ist eine Gelegenheit, bei der Typen nützlich sind. Anstatt in jeder Funktion anzugeben, die eine function processRow(row: [string, string, number]) akzeptiert, können Sie einen separaten Typalias für eine Zeile erstellen und diesen dann in jeder Funktion verwenden:

type Row = [string, string, number];
function processRow(row: Row)

Offizielle Schnittstellendokumentation

https://www.typescriptlang.org/docs/handbook/interfaces.html

Schnittstellen Verwandte Beispiele