Funções de primeira classe com Javascript

Veja neste post

Javascript (JS) é uma linguagem poderosa e muito versátil. É possível começar a programar sem entender muito dos conceitos e paradigmas que podemos utilizar nesta tecnologia, no entanto, compreender mais a fundo a linguagem nos permite desenvolver com mais segurança e propriedade sobre os efeitos e resultados dos nossos algoritmos.

O que são funções de primeira classe

No JS tratamos funções como uma variável qualquer. Perceba que podemos atribuir uma função para uma variável, passar uma variável como parâmetro em outra função e retornar uma função dentro de outra função.

Funções para variáveis

const getNome = function(){
    return "Tiago";
}

getNome();

Aqui atribuímos uma função anônima para a variável getNome e para chamá-la adicionamos um parêntese no final da variável.

Funções como argumento para outras funções

Funções passadas como argumento, são chamadas de callback.

const getNome = function(){
    return "Tiago";
}

const dizerOla = function(nome){
    return "Olá, " + nome();
}

//Chamar a função
dizerOla(getNome);

A função dizerOla recebe uma nova função como parâmetro, veja que o parâmetro é invocado internamente com parênteses nome(), indicando que é uma função.

Funções como retorno de outras funções

Quando uma função retorna uma nova, ela é chamada de função de ordem superior e para invocar podemos fazer de duas formas.

const dizerOla = function(){
    return function(){
        console.log("Olá Tiago");
    }
}

//Atribuir para uma variável e invocar a variável como função
const ola = dizerOla();
ola();

//Invocar a função utilizando dois parênteses
dizerOla()()

Estes recursos estão presentes na vida do programador JS, mas talvez nem todos têm o conhecimento de seus nomes e possibilidades de aplicação.

Fonte imagem: pngitem.com

Um comentário

Os comentários estão fechados.