O que são funções
São blocos de comandos e instruções para a execução de determinada tarefa.
Podem receber e retornar valores (tipos de dados primitivos e de referência).
Podem ser executadas de forma repetitiva e encadeada.
Variáveis criadas dentro da função, podem ser usadas somente dentro da função, são variáveis de estado ou variáveis locais.
(): Indica que é um objeto do tipo function.
Dentro do colchetes são passados os parâmetros de entrada, que são opcionais.
{}: Indica que é um bloco de comandos/intruções. É o escopo da função.
Dentro das chaves são retornados os parâmetros de saída, que são opcionais.
Os parâmetros recebidos são variáveis de estado ou locais ao escopo da função.
No javascript as funções são de primeira classe e ordem maior
- Pode ser atribuída a variável ou estrutura de dados (object, array).
- Pode ser passada como argumento de entrada em outra função.
- Pode ser retornada como argumento de saída de outra função.
Instrução return
return é uma instrução de saída.Termina a execução da função e opcionalmente retorna algo ao chamador da função.
Se o return for omitido, retorna undefined.
Funções também são objetos
Permitem a criação de propriedades.
// Exemplo com Regular Function
function fn(){ console.log('executando...') }
fn.prop = 'New Prop';
// Exemplo com Arrow Function
var fn = () => 'executando...';
fn.prop = 'New Prop';
// Exemplo de execução
fn();
fn.prop;
Boas Práticas
- Sempre declarar a função antes de usá-la.
- Sempre usar funções PURAS (Recebe um parâmetro (sabe-se de onde está vindo) e retorna alguma coisa).
Currying
Default Function Arguments
...
Enhanced object Literals
...