Sobes.tech
Middle+

Υλοποιήστε τη μέθοδο Function.prototype.bind — μια λειτουργία που δέχεται το πλαίσιο και επιστρέφει μια νέα λειτουργία με το δεμένο πλαίσιο.

sobes.tech AI

Απάντηση από AI

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

if (!Function.prototype.bind) {
  Function.prototype.bind = function(context, ...bindArgs) {
    const fn = this;
    return function(...callArgs) {
      return fn.apply(context, bindArgs.concat(callArgs));
    };
  };
}

Здесь bind возвращает новую функцию, которая при вызове вызывает исходную функцию с заданным контекстом и аргументами.

Пример использования:

const obj = {name: 'Alice'};
function greet(greeting) {
  return greeting + ', ' + this.name;
}
const boundGreet = greet.bind(obj);
console.log(boundGreet('Hello')); // Hello, Alice