Arrow Functions: O JavaScript Moderno

O que vais aprender nesta aula:

  • A sintaxe moderna das funções: () => {}
  • Como escrever código mais limpo e curto
  • Quando usar Arrow Functions vs Funções Tradicionais

🧠 Teoria (com Analogia e Contexto Real)

Em 2015 (ES6), o JavaScript mudou para sempre. Os programadores estavam cansados de escrever a palavra function a toda a hora. Nasceram as Arrow Functions.

✉️ Analogia do SMS vs Carta

Função Tradicional (Carta):

"Caro JavaScript, por favor execute esta função..." (Muito formal, muito texto).

Arrow Function (SMS):

"Faz isto. Tchau." (Rápido, direto ao assunto).

Porque é que isto importa? No mercado de trabalho atual (React, Vue, Node.js), 90% das funções que vais ver são Arrow Functions. É a linguagem padrão dos profissionais modernos.

💻 Prática (Orientada e Progressiva)

Vamos emagrecer o nosso código:

Exemplo 1: Tradicional vs Arrow

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

// 🚀 Arrow Function
const somar = (a, b) => {
    return a + b;
}

// 🤯 Arrow Function (Ultra Curta - Retorno Implícito)
// Se só tiver uma linha, tiramos as chaves e o 'return'!
const somar = (a, b) => a + b;

Exemplo 2: Com um só parâmetro

Se tivermos apenas um argumento, até os parênteses são opcionais (embora muitos prefiram mantê-los).

// Tradicional
function dobro(n) {
    return n * 2;
}

// Arrow Function
const dobro = n => n * 2; // Tão limpo! ✨
💡
Nota Importante: As Arrow Functions são quase sempre guardadas dentro de uma variável const, para que não sejam apagadas por engano.

✅ Verificação de Conhecimento

1. Qual é o símbolo que define uma Arrow Function?

->
=>
==>

2. Quando é que posso omitir a palavra `return`?

Nunca.
Quando a função é uma Arrow Function e tem apenas uma linha de código.
Quando a função não devolve nada.

3. As Arrow Functions substituem completamente as funções antigas?

Sim, usar `function` agora é proibido.
Não, mas são a forma preferida para a maioria dos casos simples e callbacks.
Só funcionam em computadores novos.

🧩 Desafio Prático

Refatorização (Limpeza) de Código

Tens aqui uma função antiga e "gorda". A tua tarefa é reescrevê-la como uma Arrow Function moderna numa única linha.

function saudacao(nome) {
    return "Olá " + nome + ", tudo bem?";
}

Objetivo:

  • Usa const.
  • Usa a seta =>.
  • Sem chaves {} e sem return explícito.
// A tua versão moderna aqui:
const saudacao = ...
Mostrar Solução
const saudacao = nome => "Olá " + nome + ", tudo bem?";

console.log(saudacao("Sandro"));

📌 Explicação: Simples, elegante e faz exatamente a mesma coisa. Bem-vindo ao JavaScript Moderno!