Die häufigste Deklarationszusammenführung in TS (Schnittstellenzusammenführung)

Die häufigste Deklarationszusammenführung in TS (Schnittstellenzusammenführung)

Vorwort:

Worüber ich heute sprechen möchte, hängt immer noch mit TS zusammen. Die häufigste Deklarationszusammenführung in TS: Schnittstellenzusammenführung

Bevor wir über das Zusammenführen von Schnittstellen sprechen, sprechen wir über das Zusammenführen von Deklarationen

Deklarationszusammenführung:

Was ist eine Deklarationszusammenführung?

Tatsächlich ist es leicht zu verstehen, dass das Zusammenführen von Deklarationen in TS bedeutet, dass der Compiler Deklarationen mit demselben Namen zu einer Deklaration zusammenführt.

Das Ergebnis der Fusion:

Die zusammengeführte Erklärung weist die Merkmale von zwei oder mehr Originalerklärungen auf.

zweifeln:
Worauf beziehen sich diese beiden oder noch mehr konkret?

Tatsächlich gibt es mehrere Situationen, über die man sprechen muss. Heute werden wir über eine davon sprechen. Die einfachste und häufigste Art der Deklarationszusammenführung ist die Schnittstellenzusammenführung.

1. Schnittstelle zusammenführen

Wir haben gerade gesagt, dass „die zusammengeführte Deklaration die Merkmale von zwei oder mehr Originaldeklarationen aufweisen wird“.

Dasselbe gilt für das Zusammenführen von Schnittstellen, bei dem die Mitglieder beider Parteien in eine Schnittstelle mit demselben Namen eingefügt werden.

Es ist zu beachten, dass die Mitglieder in der Schnittstelle Funktionsmitglieder und Nichtfunktionsmitglieder umfassen und die Situation unterschiedlich ist

1.1 Mitglieder ohne Funktion

Zum Beispiel:

Schnittstellenbox {
    Höhe: Zahl;
}

Schnittstellenbox {
    Breite: Zahl;
}

let box: Box = {Höhe: 2, Breite: 3};


Im obigen Code werden zwei Schnittstellen mit demselben Namen Box definiert (in der tatsächlichen Entwicklung können sie aus verschiedenen Dateien stammen) und die Inhalte werden schließlich miteinander vermischt.

Es ist jedoch zu beachten, dass die Mitglieder in den oben genannten Fällen eindeutig sind. Wenn jedoch zwei Schnittstellen nichtfunktionale Mitglieder mit demselben Namen deklarieren und ihre Typen unterschiedlich sind, meldet der Compiler einen Fehler.

1.2 Funktionsmitglieder

Für die darin enthaltenen Funktionsmitglieder wird jede Funktionsdeklaration mit demselben Namen als Überladung dieser Funktion behandelt. Und wenn Schnittstelle A mit einer späteren Schnittstelle A zusammengeführt wird, hat die spätere Schnittstelle eine höhere Priorität

Zum Beispiel das offizielle Beispiel:

Schnittstelle Cloner {
    Klon (Tier: Tier): Tier;
}

Schnittstelle Cloner {
    Klon (Tier: Schaf): Schaf;
}

Schnittstelle Cloner {
    Klon (Tier: Hund): Hund;
    Klon (Tier: Katze): Katze;
}


Schließlich werden sie wie folgt zu einer Anweisung zusammengefasst:

Schnittstelle Cloner {
    Klon (Tier: Hund): Hund;
    Klon (Tier: Katze): Katze;
    Klon (Tier: Schaf): Schaf;
    Klon (Tier: Tier): Tier;
}


Zwei Punkte sind zu beachten:

  • Die Deklarationsreihenfolge in jeder Schnittstellengruppe bleibt unverändert
  • Die Reihenfolge zwischen den Schnittstellengruppen ist so, dass die späteren Schnittstellenüberladungen an erster Stelle erscheinen

Es gibt jedoch Ausnahmen: wenn spezielle Funktionssignaturen erscheinen. Wenn ein Parameter in der Signatur einen Typ hat, der ein einzelner Zeichenfolgenliteral ist (also keine Vereinigung von Zeichenfolgenliteralen), wird er an den Anfang der Überladungsliste verschoben.

Dies ist das Ende dieses Artikels über die am häufigsten vorkommende Deklarationszusammenführung (Schnittstellenzusammenführung) in TS. Weitere Informationen zur Schnittstellenzusammenführung in TS finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

<<:  Drei Möglichkeiten, durch Klicken auf ein Button-Tag in HTML zu einer Seite zu springen

>>:  Docker stellt Mysql, .Net6, Sqlserver und andere Container bereit

Artikel empfehlen

Beispielcode zur Implementierung eines Foto-Stacking-Effekts mit CSS

Ergebnisse erzielen Schritt 1. Ursprüngliche inde...

Zusammenfassung der wichtigsten Attribute des Body-Tags

bgcolor="Textfarbe" background="Hin...

Beispiel für die Konfiguration von nginx zur Implementierung von SSL

Umgebungsbeschreibung Serversystem: Ubuntu 18.04 ...

Acht gängige SQL-Verwendungsbeispiele in MySQL

Vorwort MySQL setzte auch 2016 seinen starken Wac...

So leiten Sie eine URL mit Nginx Rewrite um

Ich muss in letzter Zeit bei der Arbeit oft die N...

Einige Erfahrung im Aufbau des React Native-Projektframeworks

React Native ist ein plattformübergreifendes Fram...

Top 10 der nützlichsten und wichtigsten Open-Source-Tools im Jahr 2019

In der Open-Source-Umfrage von Black Duck aus dem...

JavaScript-Makrotasks und Mikrotasks

Makrotasks und Mikrotasks JavaScript ist eine Sin...

Was bedeutet das „a“ in rgba? CSS RGBA-Farbleitfaden

RGBA ist eine CSS-Farbe, mit der Farbwert und Tra...

Zwei Möglichkeiten zum Löschen von Tabellendaten in MySQL und ihre Unterschiede

Es gibt zwei Möglichkeiten, Daten in MySQL zu lös...

Einfache Methode zur Installation von MySQL unter Linux

Bei der Onlinesuche nach Methoden zur Installatio...