Fácil JavaScript

Extrair e renomear

Enunciado

Dado o array [10, 20, 30], use desestruturação para criar as variáveis a, b e c. Depois, dado o objeto { nome: 'Carlos', idade: 35 }, extraia nome e idade em variáveis chamadas nomePessoa e idadePessoa. Imprima todos os valores no console.

Requisitos

  • Usar desestruturação de array para obter a, b, c
  • Usar desestruturação de objeto com renomeação para nomePessoa e idadePessoa
  • Imprimir os valores no console

Código inicial

const arr = [10, 20, 30];
// seu código aqui

const pessoa = { nome: 'Carlos', idade: 35 };
// seu código aqui

Saída esperada

10 20 30
Carlos 35
Ver dica

Para renomear na desestruturação de objeto, use { nome: novoNome }.

Mostrar solução
const arr = [10, 20, 30];
const [a, b, c] = arr; // desestruturação de array

const pessoa = { nome: 'Carlos', idade: 35 };
const { nome: nomePessoa, idade: idadePessoa } = pessoa; // renomeando

console.log(a, b, c);
console.log(nomePessoa, idadePessoa);

Passo a passo

  1. Declaramos arr com três números.
  2. const [a, b, c] = arr; extrai os valores nas posições 0, 1 e 2 para a, b e c.
  3. Declaramos pessoa como objeto com nome e idade.
  4. const { nome: nomePessoa, idade: idadePessoa } = pessoa; lê as propriedades e as atribui a novas variáveis com nomes diferentes.
  5. Exibimos os valores com console.log.

Por que funciona

A desestruturação de array associa cada variável à posição correspondente. A de objeto associa pelo nome da propriedade, e a sintaxe chave: novoNome cria uma variável local com outro nome. Isso evita acessos repetitivos como arr[0] ou pessoa.nome.

Erros comuns

  • Esquecer os colchetes no array: const a, b, c = arr; gera erro de sintaxe. Use const [a, b, c] = arr;.
  • Confundir a ordem na renomeação: { nomePessoa: nome } inverteria os papéis; o correto é { nome: nomePessoa }.
  • Tentar desestruturar null ou undefined: const { x } = null lança TypeError. Verifique se o objeto existe.

Outra forma de resolver

Sem desestruturação:

const a = arr[0], b = arr[1], c = arr[2];
const nomePessoa = pessoa.nome, idadePessoa = pessoa.idade;

Mais verboso, mas útil quando você precisa de apenas um valor.

Saída esperada

10 20 30
Carlos 35