TypeScript · Senior · Frage 24 von 75
Warum kann der Template-Typ ` ${A}-${B}-${C} ` über drei große Unions einen Fehler erzeugen?
- 1Template-Typen unterstützen höchstens zwei Einsetzungen
- 2Union-Typen lassen sich gar nicht in Template Literals einsetzen
- 3Die entstehende Union ist zu groß, und der Compiler hat ein Limit
Antwort zeigen
Richtige Antwort: Die entstehende Union ist zu groß, und der Compiler hat ein Limit
Erklärung
Ein Template mit Unions verteilt sich über jede Kombination: 100 × 100 × 100 = 1.000.000 Mitglieder. TypeScript begrenzt die Größe von Unions (etwa 100.000) und meldet „Expression produces a union type that is too complex“. Abhilfe ist ein allgemeinerer Typ (` ${string}-${string} `) oder eine Validierung über eine Funktion.