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
- Declaramos
arrcom três números. const [a, b, c] = arr;extrai os valores nas posições 0, 1 e 2 paraa,bec.- Declaramos
pessoacomo objeto comnomeeidade. const { nome: nomePessoa, idade: idadePessoa } = pessoa;lê as propriedades e as atribui a novas variáveis com nomes diferentes.- 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. Useconst [a, b, c] = arr;. - Confundir a ordem na renomeação:
{ nomePessoa: nome }inverteria os papéis; o correto é{ nome: nomePessoa }. - Tentar desestruturar
nullouundefined:const { x } = nulllançaTypeError. 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