Два параметра типа
Параметров типа может быть несколько. Их перечисляют через запятую, и каждый отвечает за свою часть сигнатуры:
Видеоуроки, интерактивный редактор и сохранение прогресса — бесплатно, сразу после входа.
ВойтиСоздать аккаунт — бесплатноПараметров типа может быть несколько. Их перечисляют через запятую, и каждый отвечает за свою часть сигнатуры:
function pair<A, B>(a: A, b: B): { a: A; b: B } {
return { a, b };
}В задании своя версия map, где все типы заменены на unknown:
Ошибка: «'word' is of type 'unknown'». Колбэк получает элемент массива, но тип этого элемента по дороге потерялся: функция приняла массив строк, а колбэку сообщила, что там unknown. Результат тоже unknown[], хотя на деле там числа.
Здесь две независимые неизвестные. Первая это тип элементов входного массива, он же тип аргумента колбэка. Вторая это то, что возвращает колбэк, он же тип элементов результата. Одним параметром их не описать: строки на входе и числа на выходе это разные типы.
Типизируй mapItems двумя параметрами типа: один для элементов входного массива, другой для результата колбэка. lengths должен вывестись как number[]. Тело функции и вызов менять не нужно.