First-class function, ou na tradução “função de primeira classe”, é uma característica de linguagens de programação que permitem que funções possam ser tratadas como uma variável (https://developer.mozilla.org/pt-BR/docs/Glossary/First-class_Function).
Já vimos isso anteriormente quando falamos de function expression. Entretanto, ainda não demos a devida atenção a um importante uso dessa característica: a possibilidade de passar uma função como parâmetro de outra função.
Agora, observe o que acontece quando executamos a função saudacao():
Neste caso, a função saudacao() faz uma chamada à função mensagem(). Note que neste caso estamos lidando com strings, entretanto, podemos ir mais além e retornar outras funções. Chamamos isso de funções de mais alta ordem.
Saiba mais
Podemos usar os conhecimentos que adquirimos nos blocos anteriores para criar funções que realizam a soma, subtração, divisão e multiplicação de diferentes formas. Observe:
const add = (a, b) => { return a+b }
const subt = (a, b) => a-b
const mult = function(a, b){ return a * b }
const divi = (a, b) => a/b
Agora observe como podemos usar essas funções atribuídas a variáveis:
Quer aprender mais sobre Desenvolvimento Web?
Dá uma olhada nesses cursos disponíveis a partir de R$ 27,90 (e ainda dar uma moral para ajudar esse pobre professor a pagar seus boletos) 😉
Uma resposta em “Funções de primeira classe JavaScript”
[…] outro conceito diretamente relacionado às funções de primeira classe são as funções de mais alta ordem (higher-order function). Higher-order functions são como são […]