Напиши тип Middle Дженерики обновлено
Тип после mapValues
Вопрос
Какой тип у out? Впишите тип.
function mapValues<T, U>(o: Record<string, T>, f: (v: T) => U): Record<string, U> {
const res: Record<string, U> = {};
for (const k in o) res[k] = f(o[k]);
return res;
}
const out = mapValues({ a: 1, b: 2 }, n => String(n)); // out: /* ? */
Попробуйте сами
Напишите тип, как написали бы в коде.
Показать ответ и разбор
Коротко
Правильный тип: Record<string, string>. T выводится из значений объекта как number.
Правильный тип
Record<string, string>
Разбор
T выводится из значений объекта как number. Колбэк получает n: number и возвращает String(n), то есть string, отсюда U = string. Результат Record<string, U> становится Record<string, string>.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.