Задать вопрос
@AlexWeb6667
Web-дизайнер с опытом FullStack разработки

Как создать такую функцию обертку?

Всем привет, получил на днях задачку, прочитать код и реализовать функцию.
Понял что это функция конструктор в замыкании, но не могу реализовать следующий функционал

function wrapper(fn) {

}

function logger() {
    console.log('loger')
}

const myFunction = wrapper(logger)

myFunction() // должна отработать дочерняя функция, тут проблем нет
myFunction.reset() // А вот тут проблемы, не могу понять как реализовать и вызов функции, и реализацию метода


Прошу помощи у более опытных программистов.

Первые идеи это были прототипы, но что то не срослось(
  • Вопрос задан
  • 120 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 2
Alexandroppolus
@Alexandroppolus
кодир
function wrapper(fn) {
    fn.reset = () => { ... };
    return fn;
}
Ответ написан
0xD34F
@0xD34F Куратор тега JavaScript
Функция - это объект, ей можно добавить нужное свойство:

function wrapper(fn) {
  function wrapped(...args) {
    return fn.apply(this, args);
  }

  wrapped.reset = () => console.log('hello, world!!');

  return wrapped;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы