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

Создать пользовательскую реализацию Function.prototype.bind с поддержкой частичного применения

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

Нужно написать свою версию метода bind, который будет привязывать контекст функции и позволять передавать часть аргументов заранее.

const obj = {
  a: 1,
  say(arg1, arg2) {
    if (arg1 !== undefined && arg2 !== undefined) {
      console.log(this.a * arg1 * arg2);
    } else {
      console.log(this.a);
    }
  }
};

const fn = obj.say;
fn.bind(obj, 1)(2);

Ваша реализация должна корректно работать как в случае полной передачи аргументов, так и при их частичном предоставлении.