Назад к вопросам
СБЕР
Middle+
4
Реализуй метод Function.prototype.bind — функцию, которая принимает контекст и возвращает новую функцию с привязанным контекстом.
Компании, где спрашивали
Ответ от нейросети
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