Задача · Замыкания и this · урок 9 из 11
Задача: вызвать один раз
Напишите функцию function once(fn), которая возвращает новую функцию. При первом вызове новая функция вызывает fn со всеми своими аргументами и возвращает результат fn. Следующие вызовы новой функции не вызывают fn и возвращают результат первого вызова.
const f = once((x) => x * 2), затемf(5)→10- следующий вызов
f(7)→10 once((a, b) => a + b)(2, 3)→5
Ограничения: аргументов от нуля до трёх; результат первого вызова возвращается и тогда, когда он равен 0; у каждой функции, созданной отдельным вызовом once, свой первый вызов.
Не добавляйте лишних импортов, если в задаче это прямо не сказано.
Подпишись, чтобы пройти курс
Курс бесплатный. Войди через Telegram и подпишись на канал — откроются все уроки.