TypeScript · Senior · Frage 38 von 75
Was liefert keyof (A | B), wenn A = { id; name } und B = { id; price } ist?
- 1
'id' | 'name' | 'price' - 2
'id' - 3
never
Antwort zeigen
Richtige Antwort: 'id'
Erklärung
Ein Wert vom Union-Typ kann jedes Mitglied sein, also ist nur der Zugriff auf gemeinsame Schlüssel sicher. keyof (A & B) liefert die Union aller Schlüssel. Um keyof über die Mitglieder einer Union zu verteilen, nutzt man einen bedingten Typ: T extends any ? keyof T : never.