Sobes.tech
Middle

Quais são as características de trabalhar com expressão de função e declaração de função em JavaScript?

sobes.tech IA

Resposta da IA

Declaração de Função (declaração de função):

  • Definida usando a palavra-chave function, seguida do nome da função e depois parênteses para os parâmetros.
  • Está sujeita a hoisting: a função está disponível no escopo antes da sua declaração real no código.
  • Use-a quando precisar criar uma função nomeada e a sequência de chamadas não importar.
function helloWorld() {
  // Mostra uma mensagem no console
  console.log("Hello, World!");
}

Expressão de Função (expressão funcional):

  • Definida como parte de uma expressão, geralmente atribuída a uma variável.
  • Não está sujeita a hoisting: a função só está disponível após a execução da linha de código correspondente.
  • Pode ser com ou sem nome (anónima).
  • Use-a quando precisar passar uma função como argumento, criar uma função autoexecutável (IIFE) ou definir uma função numa condição.
const greet = function(name) {
  // Retorna uma saudação
  return `Olá, ${name}!`;
};

Comparação:

Característica Declaração de Função Expressão de Função
Hoisting Sim Não
Disponibilidade Antes da declaração no código Depois da declaração no código
Nome Obrigatório Pode ser anónima
Sintaxe function nome(...) {...} const variável = function(...) {...}