7.7.2 - Funções
🧠 Funções em Detalhes: Segredos, Cuidados e Curiosidades!
🧠 Funções em Detalhes: Segredos, Cuidados e Curiosidades!
Vamos agora entender ainda mais sobre funções, incluindo situações específicas, dúvidas que todo mundo tem no começo e algumas práticas poderosas que só quem conhece bem as funções usa. Bora? 🚀
🌀 E se não tiver return? Ou se ele estiver sozinho?
return? Ou se ele estiver sozinho?🔹 Sem return:
return:Se sua função não tiver return, ela não devolve valor nenhum. O resultado será undefined.
function digaOi() {
console.log("Oi!");
}
let resultado = digaOi();
console.log(resultado); // undefined🔹 Com return; sozinho:
return; sozinho:Ela vai sair da função, mas sem devolver nada.
function sairSemNada() {
return;
}
console.log(sairSemNada()); // undefined💡 Use
returnquando quiser devolver algo útil da função. Se quiser só executar algo (como mostrar no console), ele pode ser omitido.
⚡ IIFE – Funções que se executam sozinhas!
IIFE significa Immediately Invoked Function Expression – ou seja, uma função que é criada e executada imediatamente, no mesmo momento.
💡 Muito usada para isolar variáveis, evitar conflitos e inicializar scripts.
🧭 Quando usar cada tipo de função?
function nome()
Quando precisa reutilizar várias vezes ou declarar antes de chamar
const nome = function()
Quando quiser guardar a função em variável, útil para funções anônimas
const nome = () => {}
Quando quiser um código mais limpo ou trabalhar com funções pequenas
⚠️ Lembre-se: funções com
function nome()são "hoisted" — ou seja, você pode chamá-las antes mesmo de declará-las. Já as funções em variáveis só funcionam depois da linha onde foram criadas.
📦 Vários parâmetros? Sem problemas!
Você pode passar quantos parâmetros quiser, separados por vírgula:
💡 Parâmetros extras? Tudo bem!
Se você passar mais argumentos do que parâmetros, os extras são ignorados:
⚠️ Menos parâmetros?
Se faltar algum argumento, ele vira undefined.
🧷 Parâmetros padrão
Você pode definir valores padrão para os parâmetros, evitando undefined:
🌊 Spread e Rest: o famoso ...
...Rest parameters: junta vários argumentos num array
🧠 Use
...quando não sabe quantos argumentos vai receber.
🏁 Por que o return é tão importante?
return é tão importante?O return entrega um valor de volta para quem chamou a função. Sem ele, a função só faz algo, mas não responde nada.
Use
returnpara cálculos, verificações, ou qualquer coisa que precise de um valor de saída.
🤯 O que é considerado uma função em JavaScript?
Em JavaScript, funções são primeira classe – ou seja, elas podem ser:
Guardadas em variáveis
Passadas como argumentos
Retornadas de outras funções
Guardadas dentro de objetos (métodos)
💡 Observação poderosa: Funções de ordem superior ✨
No JavaScript, as funções são “cidadãs de primeira classe” — ou seja, você pode armazenar, passar e retornar funções como se fossem dados comuns.
👉 Isso abre espaço para um conceito muito útil chamado funções de ordem superior.
🧠 O que é isso?
Uma função de ordem superior (higher-order function) é uma função que:
Recebe uma ou mais funções como parâmetro ou
Retorna uma função como resultado
🧪 Exemplo 1: recebendo uma função como parâmetro
🔁 Exemplo 2: retornando uma função
🧩 Funções de ordem superior são base de muitas ferramentas modernas, como
.map(),.filter(),.reduce()e até de frameworks famosos (como React!).
Elas tornam seu código mais modular, legível e poderoso — como montar LEGO com inteligência! 🧱💡
❌ Cuidados importantes e erros curiosos
1. Não usar return onde precisa
return onde precisa✅ Corrigindo:
2. Nome igual para variáveis e funções
3. Confundir console.log com return
console.log com return🌟 Resumo do que aprendemos:
return
Envia valor de volta ao código que chamou a função
IIFE
Função que se executa assim que é criada
...
Recebe vários argumentos como um array (rest)
Parâmetros extras
São ignorados
Parâmetros faltando
Viram undefined
Tipos de função
function, função anônima, arrow function
Funções são objetos
Podem ser guardadas, passadas e manipuladas
🧪 Desafio Final:
Crie uma função chamada calcularNotas que receba qualquer quantidade de notas (usando ...) e calcule a média:
Depois, use essa função dentro de outra chamada situacaoAluno que retorna:
“Aprovado ✅” se a média for ≥ 7
“Recuperação 🟡” se for ≥ 5
“Reprovado ❌” se for < 5
🎓 Conclusão
Agora você conhece as funções por dentro e por fora. Com essas ferramentas, dá pra escrever códigos mais inteligentes, mais rápidos e mais organizados!
✨ "Funções são como superpoderes: quando você entende como usá-las, pode resolver qualquer missão no mundo da programação!"
Atualizado


