TypeScript · Senior · Запитання 69 з 75
Як типізувати функцію, що зберігає точні ключі переданого об'єкта, перетворюючи значення?
function mapValues<T extends object, R>(obj: T, fn: (v: T[keyof T]) => R): { [K in keyof T]: R } { /* ... */ }- ✓Правильна відповідь: Використати відображений тип за
keyof Tу типі результату - 2Повертати
Record<string, R> - 3Повертати
object
Пояснення
У тих, хто викликає, лишаються автодоповнення й перевірка друкарських помилок у ключах. Зауважте, що Object.entries усередині все одно втрачає типи ключів і потребує приведення.