Перейти к содержимому
Задача · Замыкания и this · урок 11 из 11

Задача: методы со своим this

Объект counter хранит число в свойстве count, и у него есть два метода. Метод inc() прибавляет к this.count свой шаг и возвращает новое значение. Метод reset() записывает в this.count ноль и возвращает 0.

Напишите функцию function bindCounter(counter), которая возвращает объект с двумя функциями inc и reset. Каждая вызывает одноимённый метод counter и возвращает его результат, даже когда её вызывают без точки или передают колбэком.

  • counter с count, равным 0, и шагом 1: const inc = bindCounter(counter).inc, затем inc() → 1, ещё один inc() → 2
  • такой же counter: [1, 2, 3].forEach(bindCounter(counter).inc), затем counter.count → 3
  • const reset = bindCounter(counter).reset, затем reset() → 0 и counter.count → 0

Ограничения: шаг и count — целые числа от 0 до 100; методы counter читают и меняют this.count; у каждого объекта counter свой счёт.

Не добавляйте лишних импортов, если в задаче это прямо не сказано.

bind-counter.js — javascript
javascript · строк: 11
Ctrl+Enter запуск · Esc выйти из редактора

Подпишись, чтобы пройти курс

Курс бесплатный. Войди через Telegram и подпишись на канал — откроются все уроки.

Войти другим способом