Назад к задачам
Junior — Senior
5

Самодельная реализация функции bind

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Необходимо написать функцию myBind(fn, context), которая возвращает новую функцию. При её вызове оригинальная функция fn должна исполняться в переданном контексте context и принимать любые переданные аргументы.

const obj = {
  a: 1,
  show(num) {
    if (num !== undefined) {
      console.log(this.a + num);
      return;
    }
    console.log(this.a);
  },
};

const fn = obj.show.bind(obj);
fn();

myBind(fn, obj)();

В примере показано, как стандартный bind привязывает метод show к объекту obj. Ваша задача – реализовать аналогичный механизм без использования встроенного Function.prototype.bind. Функция должна корректно работать как без аргументов, так и с переданными параметрами.