Sobes.tech
Junior — Middle

Kāda ir galvenā atšķirība starp funkciju izsaukšanu caur bind un apply metodēm JavaScript?

sobes.tech AI

Atbilde no AI

Galvenā atšķirība starp bind un apply JavaScript ir:

  • bind izveido jaunu funkciju ar sasaistītu kontekstu (this) un, ja nepieciešams, sākuma argumentiem. Šo jauno funkciju var izsaukt vēlāk.
  • apply uzreiz izsauc funkciju ar norādīto kontekstu un argumentiem, kas nodoti kā masīvs.

Piemērs:

function greet(greeting, punctuation) {
  console.log(greeting + ', ' + this.name + punctuation);
}

const person = { name: 'Иван' };

const boundGreet = greet.bind(person, 'Привет');
boundGreet('!'); // Izvadīs: Привет, Иван!

// Ar `apply` izsaucam uzreiz

greet.apply(person, ['Здравствуйте', '.']); // Izvadīs: Здравствуйте, Иван.