Neste artigo você vai aprender a como passar função como parâmetro de outra função em JavaScript, de uma maneira simples e eficiente!
Fala programador(a), beleza? Bora aprender mais sobre funções e também JavaScript!
A técnica de inserir uma função como argumento é chamada de callback function
Um recurso muito utilizado e conhecido em JavaScript
Basicamente precisamos passar a função sem os parênteses, para ela não ser executada na hora da chamada da primeira função
Veja um exemplo:
function a() { console.log("Ativou a função de parâmetro") } function b(cb) { console.log("Função b") cb(); } b(a);
Aqui temos a função b sendo executada primeiro, pois o código dela vem antes da chamada da função cb(), que é a função a, enviada como argumento
Podemos então invocar a função passada como argumento a qualquer momento
Note que as funções podem ser mais complexas, e aceitarem também outros argumentos
Inclusive a função de callback que passamos como parâmetro
A ideia do artigo é ilustrar como podemos utilizar uma função deste tipo, e também a simplicidade de um recurso tão interessante
Outra observação importante é que o nome do argumento que se refere a função pode ser qualquer um, utilizei cb pois é normal nos referirmos a callback com esta nome
É uma abreviação de callback
Conclusão
Neste artigo você aprendeu a como passar função como parâmetro
Apenas precisamos passar a função sem os parênteses, isso faz com que ela possa ser utilizada a qualquer momento na primeira função
Basta invocá-la, agora sim com os parênteses, que é a sintaxe de chamada de função em JS
Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias!
Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!
Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias
O link acima contém um cupom de desconto para os cursos!
Parabéns! Gostei do conteúdo, me ajudou muito.
Mas como faço caso a função de callback tiver parâmetros?
function a(x, y) {
console.log(x + y)
}
function b(cb(x, y)) {
console.log(“Função b”)
cb(x, y);
}
b(a(1, 2));
Seria algo parecido com o código acima? Isso é possível?
Cannot read properties of undefined (reading ‘add’)
o que fazer?