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(...) {...} |