1. Função Lambda/Arrow
  2. Declarando função Arrow
  3. Função Arrow com argumentos
  4. Retornando função Arrow
  5. Função Arrow como parâmetro
  6. Passagem por valor e referência
  7. Declarar parâmetros variáveis
  8. Função anônima/arrow retornando mais de um valor
  9. Vetor/matriz de funções anônimas/arrow

Função anônimas é uma função que não possuem nome, não utilizam a palavra reservada function, sendo declaradas e atribuidas à uma variável.

Uma Função anônima possuem as mesmas características que as funções vistas em TypeScript: Funções.

Nesta parte do tutorial vamos aprender a declarar e utilizar esses tipos de funções mencionados e seus usos.

Funções anônimas em TS, são funçoes sem nome que são criadas de acordo com a sintaxe abaixo:

Sintaxe
let nome_variavel = () : tipo_retorno => { /*corpo*/}
Exemplo 1
let exp = (): void => { console.log("uma string TS");}
exp();
Saída
uma string TS

As funções anônimas podem utilizar N parâmetros em sua declaração como mostrado abaixo:

Sintaxe
( <lista_parametros> ) : tipo_retorno => {
    //corpo
}
Onde
<lista_parametros>: lista de parâmetros separados por (,)
tipo_retorno: tipo de dado de retorno da função. Void opcional caso não haja retorno.
Exemplo 2
let exp = (p1:number,p2:number): void => { console.log(p1,p2);}
exp(1,2);
Saída
1, 2

Podemos utilizar uma função anônima em conjunto com a palavra reservada return para que uma determinada função retorne uma função arrow.

Sintaxe
( <lista_parametros> ) : Function => 
{
    return ( <lista_parametros> ) : tipo_retorno => {
        //corpo
    };
}
Exemplo 3
function funcao(): Function 
{
    return (p1:number,p2:number): void => { console.log(p1,p2);}
}

let fnc = funcao();
fnc(1,2)
Saída
1, 2

TS permite que passemos uma expressão arrow como argumento para uma função. Para tal, basta criarmos uma função com o parâmetro, do tipo Function para receber como argumento uma função anônima.

Sintaxe
function nome_funcao(funcao_arrow:Function , <lista_parametros>) {
    //corpo
}
Exemplo 4
let fnc:Function = (p1:number,p2:number): void => { console.log(p1,p2);}

function funcao(fun:Function,p1:number,p2:number){
    fun(p1,p2);
}

funcao(fnc,3,3)
Saída
3, 3
  1. 27/08/2025 - revisão 3 - ajustes: pontuais, target de links, objetivos e sintaxes
  2. 13/09/2024 - revisão 2 - Introdução reescrita, troca de termo arrow/lambda por anônima e outras correções
  3. 02/09/2024 - revisão 1 - Correção em links de objetivos
  4. 27/02/2024 - versão inicial