TypeScript · Senior · Запитання 38 з 75
Що поверне keyof (A | B), якщо A = { id; name }, B = { id; price }?
- ✓Правильна відповідь:
'id' - 2
'id' | 'name' | 'price' - 3
never
Пояснення
Значення union може бути будь-яким із варіантів, тому безпечно звертатися лише до спільних ключів. Для keyof (A & B) вийде об'єднання всіх ключів. Розподілити keyof по членах union можна умовним типом: T extends any ? keyof T : never.