TypeScript-Schnittstelle
Eine Schnittstelle ist die Deklaration einer Reihe abstrakter Methoden, eine Sammlung von Methodenmerkmalen. Diese Methoden sollten alle abstrakt sein und müssen von konkreten Klassen implementiert werden. Dann können Dritte über diese Gruppe abstrakter Methoden aufrufen und die konkreten Klassen die spezifischen Methoden ausführen lassen.
Die TypeScript-Schnittstelle wird wie folgt definiert:
interface interface_name {
}
Beispiel
Im folgenden Beispiel definieren wir eine Schnittstelle IPerson und dann eine Variable customer mit dem Typ IPerson.
customer implementiert die Eigenschaften und Methoden der Schnittstelle IPerson.
TypeScript
Beachten Sie, dass Interfaces nicht in JavaScript umgewandelt werden können. Sie sind nur Teil von TypeScript.
Kompilieren Sie den obigen Code, um den folgenden JavaScript-Code zu erhalten:
JavaScript
Das Ausgabeergebnis ist:
Customer 对象 Tom Hanks Hi there Employee 对象 Jim Blakes
Union-Typen und Interfaces
Das folgende Beispiel zeigt, wie Union-Typen in einem Interface verwendet werden:
TypeScript
Kompilieren Sie den obigen Code, um den folgenden JavaScript-Code zu erhalten:
JavaScript
Das Ausgabeergebnis ist:
Hello Hello World **Hello World**
Schnittstellen und Arrays
In einer Schnittstelle können wir den Indexwert und die Elemente eines Arrays auf verschiedene Typen setzen. Der Indexwert kann eine Zahl oder eine Zeichenkette sein.
Setzen Sie die Elemente auf den String-Typ:
Beispiel
Wenn andere Typen verwendet werden, wird ein Fehler gemeldet:
Beispiel
test.ts:8:30 - error TS2322: Type 'number' is not assignable to type 'string'.
8 var list2:namelist = ["John",1,"Bran"]
~
test.ts:2:4
2 [index:number]:string
~~~~~~~~~~~~~~~~~~~~~
The expected type comes from this index signature.
Found 1 error.
TypeScript
Schnittstellenvererbung
Interface-Vererbung bedeutet, dass ein Interface sich durch andere Interfaces erweitern kann.
TypeScript ermöglicht es einem Interface, von mehreren Interfaces zu erben.
Vererbung verwendet das Schlüsselwortextends。
Syntaxformat für die Einzel-Interface-Vererbung:
Child_interface_name extends super_interface_name
Syntaxformat für die Mehrfach-Interface-Vererbung:
Child_interface_name extends super_interface1_name, super_interface2_name,…,super_interfaceN_name
Die geerbten Interfaces werden durch Kommas,getrennt.
Beispiel für Einfachvererbung
TypeScript
Kompilieren Sie den obigen Code, um den folgenden JavaScript-Code zu erhalten:
JavaScript
Das Ausgabeergebnis ist:
年龄: 27 喜欢的乐器: Drums
Beispiel für Mehrfachvererbung
TypeScript
Kompilieren Sie den obigen Code, um den folgenden JavaScript-Code zu erhalten:
JavaScript
Das Ausgabeergebnis ist:
value 1: 12 value 2: 23Andere Erweiterungen