TypeScript · Senior · Frage 23 von 75
Wozu dienen die Varianz-Annotationen in und out an Typparametern (TS 4.7)?
interface Producer<out T> { get(): T }
interface Consumer<in T> { set(v: T): void }- 1Es ist Syntax für Ein- und Ausgabeparameter, wie bei Methoden in C#
- 2Sie geben die Varianz explizit an und beschleunigen Prüfungen
- 3Sie legen fest, welche Parameter zur Laufzeit lesbar und schreibbar sind
Antwort zeigen
Richtige Antwort: Sie geben die Varianz explizit an und beschleunigen Prüfungen
Erklärung
Normalerweise berechnet TS die Varianz selbst, bei komplexen rekursiven Typen ist das aber teuer und manchmal ungenau. Die Annotation prüft der Compiler und nutzt sie bei Vergleichen. Man braucht sie selten - in Bibliotheken mit komplexen Typen.