Код Junior Разминка: короткие функции обновлено

debounce

Условие

Реализуй debounce(fn, wait) c сохранением this и аргументов.

Что проверяют тесты

  • откладывает и схлопывает

  • this и аргументы

Как подойти

Новый вызов убивает старый таймер. Стрелка внутри setTimeout нужна, чтобы захватить this и args внешней function. Follow-up: cancel, flush, leading/trailing.

Подсказки: 1
  1. Один let под id таймера. Внешняя обёртка - обычная function, иначе потеряешь this.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.