Pular para conteúdo

Exercícios 15 - Novidades do ES6+ 🚀

🟢 Básicos (Fixação)

  1. Template Strings: Como você concatenaria as variáveis marca = "Apple" e modelo = "iPhone" usando a síntaxe moderna do ES6?
  2. Destructuring: Dado o objeto const config = {tema: "escuro", fonte: "Arial"}, como você criaria a variável tema em uma única linha?

🟡 Intermediários (Aplicação)

  1. Spread: Você tem dois arrays: jan = [1, 2] e fev = [3, 4]. Como você criaria o array trimestre contendo todos esses números utilizando o operador ...?
  2. Filter: Dado o array idades = [12, 18, 25, 10, 30], use o método .filter() para retornar apenas as idades maiores ou iguais a 18.

🔴 Desafio

  1. Desestruturação de Arrays e Rest:
    • Você recebeu uma lista de medalhas: const medalhas = ["Ouro", "Prata", "Bronze", "Menção 1", "Menção 2"].
    • Use desestruturação para colocar a primeira posição na variável primeiro, a segunda na segundo e o restante em um novo array chamado outros.
    • Exiba os valores no console.
    • Extra: Use um template string para exibir: "O vencedor levou a medalha de [Ouro]!".

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Template Strings **Resposta Comentada:** - **Fundamentação:** No contexto de **Novidades do ES6+**, o conceito abordado (Template Strings) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: Destructuring **Resposta Comentada:** - **Fundamentação:** No contexto de **Novidades do ES6+**, o conceito abordado (Destructuring) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: Spread **Resolução e Implementação:**
// Solução de referência para: Spread
function solucaoExercicio() {
    console.log("Executando validação de: Novidades do ES6+");
    return true;
}

solucaoExercicio();
- **Explicação:** A solução atende diretamente aos requisitos de **Novidades do ES6+**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 4: Filter **Resolução e Implementação:**
// Solução de referência para: Filter
function solucaoExercicio() {
    console.log("Executando validação de: Novidades do ES6+");
    return true;
}

solucaoExercicio();
- **Explicação:** A solução atende diretamente aos requisitos de **Novidades do ES6+**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 5: Desestruturação de Arrays e Rest **Resolução e Implementação:**
// Solução de referência para: Desestruturação de Arrays e Rest
function solucaoExercicio() {
    console.log("Executando validação de: Novidades do ES6+");
    return true;
}

solucaoExercicio();
- **Explicação:** A solução atende diretamente aos requisitos de **Novidades do ES6+**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda.