TypeScript · Senior · Frage 47 von 75
Warum ist das Erweitern eines Interfaces für den Compiler schneller als eine Intersection?
- 1Intersections werden zur Laufzeit geprüft, Interfaces nicht
- 2Beziehungen zwischen Interfaces werden gecacht, Intersections neu berechnet
- 3Interfaces kompilieren zu Klassen, die die Engine cacht
Antwort zeigen
Richtige Antwort: Beziehungen zwischen Interfaces werden gecacht, Intersections neu berechnet
Erklärung
Der Compiler cacht das Ergebnis des Vergleichs von Interfaces nach Namen, während eine Intersection A & B & C jedes Mal normalisiert und strukturell verglichen werden muss. In heißen Pfaden mit großen Typen ist das spürbar. Das Performance-Wiki von TypeScript sagt das ausdrücklich.