TypeScript · Middle · Frage 51 von 75
Warum verliert Omit<Circle | Square, 'id'> die Discriminated Union?
type DistributiveOmit<T, K extends PropertyKey> = T extends any ? Omit<T, K> : never;- 1
Omitsieht nur gemeinsame Schlüssel; es ist nicht distributiv - 2
Omitfunktioniert grundsätzlich nie mit Union-Typen - 3Es entfernt
idnur aus dem ersten Mitglied der Union
Antwort zeigen
Richtige Antwort: Omit sieht nur gemeinsame Schlüssel; es ist nicht distributiv
Erklärung
keyof (A | B) enthält nur gemeinsame Schlüssel, also verschwinden mitgliedsspezifische Eigenschaften. Der bedingte Typ verteilt sich über die Union.