TypeScript · Senior · Frage 2 von 75

Warum gilt strictFunctionTypes nicht für eine als handle(x: Dog): void deklarierte Methode?

Antwort zeigen

Richtige Antwort: Parameter in Methodensyntax werden bivariant auf Kompatibilität geprüft

Erklärung

Die Bivarianz von Methoden blieb erhalten, damit viele eingebaute Typen (z. B. Array<T>) kompatibel bleiben. Deklariert man stattdessen eine Funktionseigenschaft handle: (x: Dog) => void, ist die Prüfung streng. Deshalb zieht man für Callbacks in Interfaces oft die Eigenschaftssyntax vor.

Zum Weiterlesen

Fehler in der Frage

TypeScript · Senior · Frage 2

Teste dich selbst

Mach den Test TypeScript · Senior: Fragen und Antworten werden gemischt, und am Ende wartet eine Übersicht der Fehler.

Diesen Test machen