TypeScript · Senior · Pytanie 38 z 75
Co zwraca keyof (A | B), jeśli A = { id; name }, a B = { id; price }?
- ✓Poprawna odpowiedź:
'id' - 2
'id' | 'name' | 'price' - 3
never
Wyjaśnienie
Wartość unii może być dowolnym z członów, więc bezpieczny jest dostęp tylko do wspólnych kluczy. keyof (A & B) daje unię wszystkich kluczy. Aby rozłożyć keyof na człony unii, użyj typu warunkowego: T extends any ? keyof T : never.