Covil Do Dev

Guia Completo sobre Funções em JavaScript

Aprenda tudo o que você precisa saber sobre funções em JavaScript, desde a sua criação até o uso de funções anônimas e funções de seta (arrow functions).

Lindomar Rodrigues

Atualizado

As funções são blocos de código que podem ser chamados e executados em diferentes partes de um programa. Em JavaScript, as funções desempenham um papel fundamental, permitindo a reutilização de código, organização lógica e modularização.

Sintaxe básica de uma função

Em JavaScript, as funções são definidas utilizando a palavra-chave function, seguida pelo nome da função, parênteses () que podem conter parâmetros e um bloco de código entre chaves {} que é executado quando a função é chamada.

Aqui está um exemplo de uma função simples que recebe dois parâmetros e retorna a soma deles:

function somar(a, b) {
  return a + b;
}

Chamando uma função

Para chamar uma função, basta utilizar o nome da função seguido de parênteses () contendo os argumentos necessários. Por exemplo:

const resultado = somar(2, 3);
console.log(resultado); // 5

Funções anônimas

Em JavaScript, também é possível criar funções anônimas, ou seja, funções que não possuem um nome. Essas funções podem ser atribuídas a uma variável ou passadas como argumento para outras funções.

Aqui está um exemplo de uma função anônima atribuída a uma variável:

const multiplicar = function(a, b) {
  return a * b;
};

Funções de seta (arrow functions)

As funções de seta (arrow functions) são uma sintaxe mais compacta para a criação de funções em JavaScript. Elas são denotadas pelo uso do operador de seta =>.

Aqui está um exemplo de uma função de seta que recebe um parâmetro e retorna o seu dobro:

const dobrar = (numero) => {
  return numero * 2;
};

As funções de seta possuem algumas peculiaridades em relação às funções tradicionais, como a herança automática do contexto (this) e a sintaxe mais enxuta quando possuem apenas uma linha de código.

Funções de callback

Em JavaScript, as funções de callback são funções passadas como argumento para outras funções e executadas quando um determinado evento ocorre ou quando uma operação é concluída.

Aqui está um exemplo de uma função que recebe uma função de callback como argumento e a chama após um certo tempo:

function executarAposDelay(callback, delay) {
  setTimeout(callback, delay);
}

function saudacao() {
  console.log("Olá, mundo!");
}

executarAposDelay(saudacao, 2000); // "Olá, mundo!" será exibido após 2 segundos

Neste exemplo, a função executarAposDelay recebe uma função de callback (saudacao) e a chama após um delay de 2 segundos utilizando a função setTimeout.

Perguntas frequentes

1. Posso retornar um valor antes de finalizar a execução de uma função?

Sim, é possível utilizar a palavra-chave return para retornar um valor antes de finalizar a execução de uma função.

2. É possível ter funções dentro de funções em JavaScript?

Sim, em JavaScript é possível ter funções definidas dentro de outras funções. Essas funções internas são conhecidas como funções internas ou funções aninhadas.

3. O que é escopo de uma função?

O escopo de uma função em JavaScript refere-se ao contexto em que as variáveis e funções definidas na função são visíveis e acessíveis. O escopo de uma função é delimitado pelas chaves {} que envolvem o bloco de código da função.

4. É possível utilizar funções como valores de retorno em JavaScript?

Sim, em JavaScript é possível utilizar funções como valores de retorno de outras funções. Isso permite criar funções de ordem superior, as quais são funções que manipulam outras funções.

5. O que é uma função recursiva?

Uma função recursiva é uma função que chama a si mesma dentro de seu próprio corpo. Isso permite que a função resolva problemas de maneira iterativa, dividindo-os em subproblemas menores.

Referências:

Obrigado por visitar o blog e por ler esse artigo, se tive qualquer dúvida, ideia ou sugestão, não hesite em entrar em contato pelo meu e-mail: lindomar@covildodev.com.br