TypeScript · Middle · Запитання 4 з 75
Як типізувати функцію getProp(obj, key), щоб результат залежав від ключа?
- ✓Правильна відповідь:
function getProp<T, K extends keyof T>(obj: T, key: K): T[K] - 2
function getProp(obj: object, key: string): unknown - 3
function getProp<T>(obj: T, key: keyof any): T
Пояснення
K extends keyof T дозволяє лише наявні ключі, а індексний доступ T[K] дає точний тип значення: getProp(user, 'age') → number. Варіант з any втрачає типізацію, а string пропустить помилку в назві.