Sobes.tech
Middle+
23

Function.prototype.bind әдісін жүзеге асырыңыз — ол контекстті қабылдайтын және байланыстыруланған контекстпен жаңа функцияны қайтаратын функция.

Сұралған компаниялар
СБЕРСБЕР

AI-дан жауап

sobes.tech 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