Sobes.tech
Back to tasks
Junior — Senior
31

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

Get help with live coding in real time with Sobes Copilot
Task condition

Необходимо написать функцию 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. Функция должна корректно работать как без аргументов, так и с переданными параметрами.