TypeScript · Senior · Pytanie 47 z 75
Dlaczego rozszerzanie interfejsu jest dla kompilatora szybsze niż przecięcie?
- ✓Poprawna odpowiedź: Relacje interfejsów są cache'owane, a przecięcia przeliczane od nowa
- 2Przecięcia są sprawdzane w runtime, a interfejsy nie
- 3Interfejsy kompilują się do klas, które silnik cache'uje
Wyjaśnienie
Kompilator cache'uje wynik porównania interfejsów po nazwie, a przecięcie A & B & C trzeba za każdym razem normalizować i porównywać strukturalnie. Na gorących ścieżkach z dużymi typami jest to zauważalne. TypeScript performance wiki mówi o tym wprost.