Em resumo, programação funcional é o paradigma de programação baseado em funções e suas características que evita estados ou dados mutáveis. Para trabalhar nesse paradigma a linguagem deve possuir algumas características:
Funções são objetos de primeira classe
As funções são tratadas como objetos, ou seja, tudo que é possível fazer com objetos também pode ser feito com funções.
Um objeto literal
var pessoa = { nome: 'Eduardo', sexo: 'Masculino'}
Uma função literal
function soma(a, b) { return a + b; }
Atribuição de um objeto
var carro = {};
Atribuição de uma função
var func = function func() {};
Uma função pode retornar um objeto
Permite que e as propriedades desse objeto possam ser acessadas a partir da execução da função:
function recuperarCarro() {
return {
marca: 'Fiat',
modelo: 'Palio'
}
}
recuperarCarro().marca;
Uma função pode retornar outra função
Permite a execução de uma função após a execução de outra, no exemplo abaixo a função principal recebe um valor que é usado como base pela função retornada:
function calculoBase(valorBase){
return function(valor) {
return valorBase + valor;
};
}
var calcBase = calculoBase(2);
calcBase(3); (retorna 5)
calcBase(4); (retorna 6)
calculoBase(2)(5); (retorna 7)
Uma função pode receber um objeto por parâmetro
var carro = { cor: 'Prata' };
function recuperarCor(c) { return c.cor; };
Uma função pode receber outra função por parâmetro
No exemplo abaixo temos uma função que executa outras funções:
function executarFuncao(func) { return func(); };
executarFuncao( recuperarCarro );
executarFuncao( function() { return 'Teste'; });
Comentários
Postar um comentário
Obrigado por Participar do programero, fique a vontade para agradecer, retificar, perguntar ou sugerir.