O que é uma função?
Imagine ter que reescrever a mesma receita toda vez que quisesse jantar. Um pesadelo, né? As funções são exatamente o oposto: o seu primeiro superpoder como programador. Escreva a lógica uma vez e use mil vezes.
Uma função é um bloco de código com nome que agrupa instruções para que você possa reutilizá-las. Pense nela como uma receita de cozinha: você a escreve uma vez e a "cozinha" (a chama) quantas vezes quiser, sem precisar anotar os passos de novo.
Declaração de função
function saudar(nome) {
return "Olá, " + nome;
}
console.log(saudar("Ana")); // "Olá, Ana"
Uma declaração começa com a palavra-chave function seguida de um nome. Ela tem
uma propriedade especial: graças ao hoisting você pode chamá-la antes de
escrevê-la no código.
Expressão de função
const saudar = function (nome) {
return "Olá, " + nome;
};
Aqui a função não tem nome próprio (é anônima) e é guardada em uma variável. Ao contrário da declaração, você não pode usá-la antes de defini-la.
Qual você deve usar?
- Declaração: ideal para funções principais e reutilizáveis.
- Expressão: útil quando você passa uma função como dado (por exemplo, para outra função).
⚠️ Pegadinha clássica: confundir definir uma função com chamá-la.
Escrever saudar (sem parênteses) te dá a função inteira; saudar("Ana") de fato
a executa. São dois gestos diferentes, e esquecer os parênteses é um dos
deslizes mais comuns.
Exemplos
Declaração chamada antes de ser definida (hoisting)
console.log(dobro(5)); // 10, funciona mesmo estando acima!
function dobro(n) {
return n * 2;
}
Expressão de função guardada em uma variável
const quadrado = function (n) {
return n * n;
};
console.log(quadrado(4)); // 16