Код Junior Разминка: короткие функции обновлено
debounce
Условие
Реализуй debounce(fn, wait) c сохранением this и аргументов.
Что проверяют тесты
откладывает и схлопывает
this и аргументы
Как подойти
Новый вызов убивает старый таймер. Стрелка внутри setTimeout нужна, чтобы захватить this и args внешней function. Follow-up: cancel, flush, leading/trailing.
Подсказки: 1
- Один let под id таймера. Внешняя обёртка - обычная function, иначе потеряешь this.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.