Junior — Middle
Каква е основната разлика между извикванията на функции чрез методите bind и apply в JavaScript?
sobes.tech AI
Отговор от AI
Основната разлика между bind и apply в JavaScript е:
bindсъздава нова функция с привързан контекст (this) и, по желание, начални аргументи. Тази нова функция може да бъде извикана по-късно.applyнезабавно извиква функцията с посочения контекст и аргументи, предадени като масив.
Пример:
function greet(greeting, punctuation) {
console.log(greeting + ', ' + this.name + punctuation);
}
const person = { name: 'Иван' };
const boundGreet = greet.bind(person, 'Привет');
boundGreet('!'); // Ще изведе: Привет, Иван!
// С apply извикваме веднага
greet.apply(person, ['Здравствуйте', '.']); // Ще изведе: Здравствуйте, Иван.