Regeln für die Verwendung von spitzen Klammern in Typescript

Was sind die allgemeinen Regeln, die vorschreiben, wann, wo, wie und warum spitze Klammern, d. H."<...>", sollte in TypeScript verwendet werden?

Während ich denke, dass ich viele individuelle Verwendungen dieser Klammern verstehe, fällt es mir schwer, allgemeine Muster für ihre Verwendung zu erkennen: Manchmal scheinen sie vor Dingen zu stehen, manchmal werden sie nach Dingen angehängt; Manchmal werden sie für Generika verwendet, manchmal für bestimmte Typen. manchmal erscheinen sie dort, wo ich naiv erwartet hätte, dass die Doppelpunktsyntax verwendet wird.

Ich verstehe die Grundlagen von TypeScript einigermaßen gut: Im Allgemeinen habe ich die Tutorials zur TypeScript-Homepage gelesen, wesentliche Teile der TypeScript-Spezifikation durchgesehen, die Website "Definitive TypeScript Guide" gelesen und ein "Mastering TypeScript" durchgeführt. Videoanleitung. Zu diesem speziellen Thema habe ich auch nach Google und StackOverflow gesucht.

Mein Problem ist nicht so sehr das Verständnis einer bestimmten Verwendung von spitzen Klammern. Ich hätte lieber eine kurze, aber umfassende / universelle Erklärung dessen, was die Klammern bedeuten, ihre genaue Syntax, wann sie verwendet werden sollten, wann sie sollte nicht verwendet werden, etc.

AKTUALISIEREN

Ich aktualisiere meine Frage als Antwort auf einige Kommentare, um zu verdeutlichen, warum ich diese Frage stelle und wonach ich genau suche.

Lassen Sie mich meine Anfrage veranschaulichen, indem Sie ein Beispiel für etwas geben, das ichtu kennen die allgemeinen Regeln für: geschweifte Klammern in Vanille JavaScript. Geschweifte Klammern bestehen immer aus einem Paar öffnender und schließender Klammern, die eine Entität umgeben. Diese Entität kann eines von zwei Hauptdingen sein.

Erstens können geschweifte Klammern ein @ umgebe Gruppierung von Anweisungen im

der Hauptteil einer Funktion, Methode, eines Konstruktors oder Generators,

der Körper undif statement / clause oderelse Klausel,

der Körper einesfor, for/of, for/in, while oderdo/while loop,

der Körper einestry, catch oderfinally block oder

ein anonymer Anweisungsblock.

Zweitens können geschweifte Klammern auch ein @ umgebeaufführe von

Eigenschaften eines Objektliteral,

Konstruktoren, Eigenschaften und / oder Methoden einesclass Erklärung,

Funktionen und / oder Konstanten, die @ sein sollexported oderimported aus einem Modul,

cases nach einemswitch Kriterium oder

enum s.

(Ob diese Liste vollständig und / oder richtig ist oder nicht, ist nicht der Punkt.)

Stellen Sie sich vor, jemand lernt JavaScript. Bisher hat sie möglicherweise richtig gelernt, wie man geschweifte Klammern verwendet, um einen Anweisungsblock zu umgeben, d. H. Die Verwendungen in der ersten Gruppe der obigen Punkte. Gelegentlich ist sie jedoch möglicherweise auch auf geschweifte Klammern bei Dingen gestoßen, die kein Anweisungsblock sind, z.{a:1, b:2} und wurden verwirrt, weil der Inhalt dieser geschweiften Klammern keine Anweisungen sind, die ausgeführt werden können. Schlimmer noch, sie kann möglicherweise nicht einmal auf ein Beispiel verweisen, das sie nicht versteht. Stattdessen hat sie nur das nagende Gefühl im Hinterkopf, dass Code, dem sie von anderen Leuten begegnet ist, geschweifte Klammern enthält, die auf ungewohnte Weise verwendet werden (obwohl sie sich nicht erinnern kann, wo). Dies lässt sie vermuten, dass ihr derzeitiges Verständnis für die Verwendung von geschweiften Klammern unvollständig sein könnte. Anstatt zu versuchen, einzelne Beispiele zu finden, die sie nicht versteht, möchte sie nur, dass ihr jemand die obige Liste mit "Regeln" für die Verwendung von geschweiften Klammern gibt.

Also ist meine Frage auch die folgende: Kann jemand für mich einige allgemeine Prinzipien und / oder spezifische Regeln beschreiben, die die Verwendung von spitzen Klammern in TypeScript so ausführlich beschreiben, wie ich die Verwendung von geschweiften Klammern in JavaScript oben beschrieben habe?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage