Перейти к основному содержимому
Об авторе
Проекты
Знания
Знания/JavaScript/decorator-pattern

Что такое функция-декоратор в JavaScript?

УглублённыйФункции

Функция-обёртка, которая расширяет поведение другой функции без изменения её кода.

function debounce(fn, delay) {
    let timer;
    return function(...args) {
        clearTimeout(timer);
        timer = setTimeout(() => fn.apply(this, args), delay);
    };
}
function throttle(fn, limit) {
    let lastCall = 0;
    return function(...args) {
        const now = Date.now();
        if (now - lastCall >= limit) {
            lastCall = now;
            return fn.apply(this, args);
        }
    };
}

Типичные декораторы: debounce, throttle, memoize, once, retry, delay, log.

  • Главная
  • Об авторе
  • Проекты
  • Знания
Логотип nKolmykov