Capítulo 21: Funções em Javascript
As funções em Javascript são um dos principais blocos de construção de um programa. Uma função é um procedimento de Javascript - um conjunto de instruções que realiza uma tarefa ou calcula um valor. Para usar uma função, você deve defini-la em algum lugar no escopo do qual você deseja chamá-la.
Definindo funções
Uma função em Javascript é definida com a palavra-chave "function", seguida por um nome, seguido por parênteses ().
function nomeDaFuncao() {
// código a ser executado
}
Os parênteses podem incluir nomes de parâmetros separados por vírgulas: (parametro1, parametro2, ...)
Parâmetros vs Argumentos
Os termos parâmetros e argumentos podem ser usados para a mesma coisa: informação que são passadas para uma função.
De uma função, os parâmetros são os nomes listados na definição da função.
Os argumentos são os valores reais recebidos pela função quando é invocada.
Quando você invoca uma função, você pode passar argumentos para ela. Os argumentos são os valores que você passa para a função.
Invocando funções
Uma função executará seu código quando você a chamar. Você chama uma função referindo-se ao seu nome, seguido por parênteses.
nomeDaFuncao();
Quando uma função é chamada, os argumentos são passados para a função como entradas, e a função pode processá-los para produzir uma saída.
Funções de retorno
Uma função pode ter uma declaração de retorno opcional. A declaração de retorno encerra a execução da função e especifica um valor a ser retornado para a função que a chamou.
function minhaFuncao() {
return valor;
}
Funções anônimas e expressões de função
As funções não precisam ter um nome. Você pode criar funções anônimas ou expressões de função.
Uma função anônima é uma função sem um nome. As funções anônimas são normalmente atribuídas a variáveis ou usadas como argumentos de outras funções.
var minhaFuncao = function() {
// código a ser executado
}
Uma expressão de função é semelhante a uma função anônima, com a diferença de que ela é usada como parte de uma expressão maior, como uma operação aritmética ou uma chamada de função.
(function() {
// código a ser executado
})();
Funções de seta
As funções de seta são uma nova sintaxe para escrever funções em Javascript introduzida no ES6. Elas são mais curtas e mais fáceis de escrever do que as funções tradicionais.
var minhaFuncao = () => {
// código a ser executado
}
As funções de seta têm algumas diferenças em relação às funções normais. A mais notável é que o valor de "this" dentro de uma função de seta é determinado pelo contexto de invocação, e não pela função em si.
Em resumo, as funções são uma parte vital de Javascript e são usadas para encapsular código para que ele possa ser reutilizado. Elas podem receber argumentos, retornar valores e serem nomeadas ou anônimas. Com o advento do ES6, também temos a opção de usar a sintaxe de função de seta para uma escrita de código mais concisa.