Sobes.tech
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, ['Здравствуйте', '.']); // Ще изведе: Здравствуйте, Иван.