paint-brush
Compreendendo as funções de primeira classe e de ordem superiorpor@iggy
3,570 leituras
3,570 leituras

Compreendendo as funções de primeira classe e de ordem superior

por Ignatius Sani3m2022/11/13
Read on Terminal Reader
Read this story w/o Javascript

Muito longo; Para ler

Uma função de primeira classe é um recurso que uma linguagem de programação ou linguagem de programação possui, é uma função que recebe outra função como argumento. A principal diferença entre as funções de ordem superior é que uma função é chamada após ter sido chamada após a execução. Em Javascript, podemos armazenar uma função em uma variável ou até mesmo em uma propriedade, como você faria para calcular a média dos valores de Javascript. Isso abre uma nova maneira de escrever código mais flexível desde que possível. armazenar funções em a. variável ou adicionar propriedades.
featured image - Compreendendo as funções de primeira classe e de ordem superior
Ignatius Sani HackerNoon profile picture


Olá pessoal! Hoje vou discutir um conceito muito famoso em programação (funções de primeira classe). Já existem muitos recursos sobre esse tópico, mas ainda há algo novo a ser extraído deste artigo, e reservei um tempo para simplificar as coisas para melhor compreensão.


Por que isso é importante para mim como desenvolvedor?

  • Isso ajuda você a entender melhor as funções de retorno de chamada do Javascript quando as vê sendo usadas.
  • Isso ajuda você a conhecer o comportamento do seu código.
  • Isso lhe dá uma melhor compreensão de por que o Javascript trata as funções como valores.


O que é uma função de primeira classe?

De acordo com a Wikipedia, diz-se que uma linguagem de programação tem funções de primeira classe se tratar funções como cidadãos de primeira classe .


Isso significa que a linguagem suporta a passagem de funções como argumentos para outras funções, retornando-as como valores de diferentes funções, atribuindo-as a variáveis ou armazenando-as em estruturas de dados.


Em Javascript, as coisas funcionam assim porque uma função é apenas outro tipo de objeto. Se você é novo neste conceito, você acha que é muito estranho, especialmente se você vem de um background de programação diferente, mas por enquanto, concentre-se nisso. Como os objetos são valores, as funções também são, e o Javascript os trata como um. Isso abre uma nova maneira de escrever código mais flexível, pois podemos armazenar funções em uma variável ou adicionar propriedades.

Dividi os pontos principais em uma lista de marcadores para facilitar as coisas. Para entender melhor as funções de primeira classe, aqui estão alguns pontos para esclarecê-lo.


  • Funciona como um argumento
  • Funções que retornam funções
  • Funções como valores

Funciona como um argumento

Uma coisa tornada possível com uma função de primeira classe é passar uma função como um argumento; podemos ver esse estilo de código em muitos códigos Javascript. Por exemplo, o método addEventListener, que recebe uma função de retorno de chamada Javascript como um argumento, por exemplo


 button.addEventListener('click', function(){ console.log('hellloooo') })


No trecho de código anterior, observamos que addEventListener recebe dois argumentos, onde a segunda função é a função de retorno de chamada e seria chamada depois que o botão fosse clicado.


Funções que retornam funções

Podemos retornar funções de outra função em Javascript; muitos objetos em Javascript têm métodos, por exemplo, funções Array em javascript. Além disso, temos o método da função, por exemplo, os métodos call() , bind() , apply() Javascript podem ser todos chamados nas funções Javascript.


 function count(){ Let counter = 0; return function(){ counter++ } }


A função count retornou outra função onde atualizamos o contador.


Funções como valores

Em Javascript, podemos armazenar uma função em uma variável ou mesmo em uma propriedade, como você faria para calcular a média dos valores de Javascript.


 Const multiply = (a,b) => a * b


A função de seta Javascript acima é armazenada na variável de multiplicação, que pode ser chamada

multiplique (3,5) desta forma.


Importância das funções de primeira classe em Javascript

Um dos principais significados das funções de primeira classe é que elas nos possibilitam escrever funções de ordem superior.



Função de ordem superior

Esta é uma função que recebe outra função como argumento ou uma função que retorna uma nova função. Isso só é possível por causa da função de primeira classe.


 button.addEventListener('click', function(){ console.log('hellloooo') })


Aqui addEventListener() é um exemplo de função de ordem superior porque recebe outra função como argumento. Muitas vezes, refere-se a uma função de retorno de chamada Javascript porque foi chamada após a execução do HOF. A principal diferença entre funções de ordem superior e funções de primeira classe é que uma função de primeira classe é um recurso que uma linguagem de programação possui ou não, significa simplesmente que todas as funções são valores.


Conclusão

Concluindo, é fundamental saber que não existe função de primeira na prática; é apenas um conceito. Existem, no entanto, funções de ordem superior na prática que são possíveis porque a linguagem suporta funções de primeira classe.