Sobes.tech
Junior — Middle

Qual é a principal diferença entre as chamadas de funções através dos métodos bind e apply em JavaScript?

sobes.tech IA

Resposta da IA

A principal diferença entre bind e apply em JavaScript é:

  • bind cria uma nova função com o contexto (this) ligado e, opcionalmente, argumentos iniciais. Essa nova função pode ser chamada posteriormente.
  • apply chama imediatamente a função com o contexto especificado e os argumentos passados como um array.

Exemplo:

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

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

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

// Com apply, chamamos imediatamente

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