Middle+
Implementirajte metodu Function.prototype.bind — funkciju koja prihvata kontekst i vraća novu funkciju sa vezanim kontekstom.
sobes.tech АИ
Одговор од АИ
Функция 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