O que são Higher Order Functions?
Genesis
Posted on May 30, 2022
Higher order functions(funções de ordem superior) são funções que aceitam outra função como paramêtro(callback) ou retornam uma função.
Callback
Funções callback são as funções passadas como paramêtro.
Um método de arrays chamado forEach() aceita callbacks:
const numbers = [5, 25, 50]
function sumArray() {
// declarando variável acumuladora
let sum = 0
numbers.forEach(element => {
// função callback
// element é cada elemento do array numbers
sum+=element
// que vai ser somado e guardado na variável sum
});
console.log(`\nTotal: ${sum}\n`)
}
Outra higher order funtcion importante é o setInterval()
setInterval(sumArray, 3000)
A cada 3 seg o setInterval ira executar o callback sumArray
Retornando uma função como valor
Exemplo 1:
function higherOrderFunction() {
console.log("Hello!");
return function (y){
console.log("Good bye!");
}
}
Se chamamos a função normalmente:
higherOrderFunction();
// vai imprimir apenas "Hello!"
Podemos armazenar em uma variavel para guardar o retorno da função
const higherOrder = higherOrderFunction();
console.log(higherOrder());
// Hello!
// Good bye!
Exemplo 2:
function higherOrderFunction(x) {
return (y) => y + x;
// retornando uma função arrow que faz a soma com os argumentos
}
Aqui o primeiro paramêtro pertence a higherOrderFunction e o segundo é da função que está sendo retornada:
higherOrderFunction(1)(2);
// 3
ou
const higherOrder = higherOrderFunction(1)(2);
Isso é tudo, até a proxima!
💖 💪 🙅 🚩
Genesis
Posted on May 30, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
webdev Peculiaridades do JS. Que não são erros! Nem esquisitice! - conversão implícita de tipos
October 11, 2023