TypeScript · Senior · Frage 4 von 75
Wie schaltet man die Verteilung eines bedingten Typs über eine Union ab?
- 1In der Prüfung
infer Ustattextendsverwenden - 2Die Option
distributive: falseincompilerOptionsergänzen - 3Beide Seiten in ein Tupel packen:
[T] extends [U] ? X : Y
Antwort zeigen
Richtige Antwort: Beide Seiten in ein Tupel packen: [T] extends [U] ? X : Y
Erklärung
Verteilt wird nur, wenn der geprüfte Typ ein „nackter“ Parameter ist. Das Tupel [T] macht ihn zusammengesetzt, also wird die Union als Ganzes geprüft: [string | number] extends [string] → false. Eine Compiler-Einstellung dafür gibt es nicht.