Назад к вопросам
JuniorТеорияЧасто
Что будет, если скомпилировать и запустить эту программу (строки через пробел)?
type Handler = (value: number, index: number) => void;
function each(nums: number[], fn: Handler) {
for (let i = 0; i < nums.length; i++) {
fn(nums[i], i);
}
}
each([1, 2], (v) => console.log(v));tsc промолчит, а программа выведет 1 2
- Ждать ошибку о недостающем
index: функция с меньшим числом параметров подходит к типу функции с большим, потому что лишние аргументы можно не читать. - Ждать, что у
vбудет неявный типany: стрелка, переданная туда, где ждутHandler, берёт типы параметров изHandler.
- Что сообщит tsc, если колбэк будет
(v, i, extra) => console.log(v)? - Почему TypeScript разрешает колбэк с меньшим числом параметров, но не с большим?