Programação funcional é um estilo de programação em que as soluções são funções simples, isoladas e livres de efeitos colaterais fora do escopo da função: INPUT -> PROCESS -> OUTPUT .A programação funcional é uma forma de programação declarativa, logo você diz ao computador o que quer fazer chamando um método ou função.
Quando falamos de programação funcional, pensamos em:
Funções isoladas: nenhuma função depende do estado do programa, incluindo variáveis globais, que podem sofrer mudanças
Funções puras: a mesma entrada sempre devolve a mesma saída
Funções com efeitos colaterais limitados: qualquer alteração ou mutação do estado do programa fora da função é cuidadosamente controlada
Terminologia funcional
Callbacks são funções que são passadas a outras funções, que decidem quando e como são chamados. Você pode ter visto alguns sendo passados a outros métodos. Em filter, por exemplo, a função de callback diz ao JavaScript qual é o critério para filtrar um array.
Funções que podem ser atribuídas a variáveis, passadas a outras funções ou retornadas de outra função como qualquer outro valor são chamadas de funções de primeira classe. Em JavaScript, todas as funções são funções de primeira classe.
As funções que recebem funções como argumentos ou retornam outras funções como valores são chamadas de funções de ordem superior.
Funções podem ser chamadas de lambda quando passadas para outra função ou retornadas a partir dela.
Outro princípio da programação funcional é que sempre devemos declarar nossas dependências explicitamente. Isso significa que, se uma função depende de uma variável ou objeto, então devemos passar esta variável ou objeto diretamente como argumento a ela.
Há muitas boas consequências nesse princípio: a função se torna mais fácil de testar, você sabe exatamente quais são as suas entradas e ela não depende de mais nada no seu programa.
Isso faz com que você tenha mais confiança ao alterar, remover ou adicionar código, pois sabe o que pode ou não pode alterar e identifica armadilhas em potencial com mais facilidade.
Finalmente, a função sempre produzirá a mesma saída para o mesmo conjunto de entradas, não importa de onde no código ela é chamada.
Programação funcional é um estilo de programação em que as soluções são funções simples, isoladas e livres de efeitos colaterais fora do escopo da função:
INPUT -> PROCESS -> OUTPUT
.A programação funcional é uma forma de programação declarativa, logo você diz ao computador o que quer fazer chamando um método ou função.Quando falamos de programação funcional, pensamos em:
Terminologia funcional
Callbacks são funções que são passadas a outras funções, que decidem quando e como são chamados. Você pode ter visto alguns sendo passados a outros métodos. Em
filter
, por exemplo, a função de callback diz ao JavaScript qual é o critério para filtrar um array.Funções que podem ser atribuídas a variáveis, passadas a outras funções ou retornadas de outra função como qualquer outro valor são chamadas de funções de primeira classe. Em JavaScript, todas as funções são funções de primeira classe.
As funções que recebem funções como argumentos ou retornam outras funções como valores são chamadas de funções de ordem superior.
Funções podem ser chamadas de lambda quando passadas para outra função ou retornadas a partir dela.
Outro princípio da programação funcional é que sempre devemos declarar nossas dependências explicitamente. Isso significa que, se uma função depende de uma variável ou objeto, então devemos passar esta variável ou objeto diretamente como argumento a ela.
Há muitas boas consequências nesse princípio: a função se torna mais fácil de testar, você sabe exatamente quais são as suas entradas e ela não depende de mais nada no seu programa.
Isso faz com que você tenha mais confiança ao alterar, remover ou adicionar código, pois sabe o que pode ou não pode alterar e identifica armadilhas em potencial com mais facilidade.
Finalmente, a função sempre produzirá a mesma saída para o mesmo conjunto de entradas, não importa de onde no código ela é chamada.