Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[Dúvida] Desafio: hora da prática - Lista (Array)

Percebi que a definição da variável como lista dispensa o LET e funciona normalmente. Existe uma explicação para isso?

//Crie uma lista vazia, com o nome listaGenerica.

let listaGenerica = [];
console.log('Lista vazia: ' + listaGenerica);

//Crie uma lista de linguagens de programação chamada linguagensDeProgramacao com os seguintes elementos: 'JavaScript','C','C++', 'Kotlin' e 'Python'.

let linguagensDeProgramacao = ['JavaScript','C','C++','Kotlin','Python'];
console.log('Linguagens de Programação: ' + linguagensDeProgramacao);

//Adicione à lista linguagensDeProgramacao os seguintes elementos: 'Java', 'Ruby' e 'GoLang'.

linguagensDeProgramacao.push('Java','Ruby','GoLang');
console.log('Linguagens de Programação adicionadas: ' + linguagensDeProgramacao);

//Crie uma lista com 3 nomes e exiba no console apenas o primeiro elemento.

let listaNomesPessoas = ['João','Bia','Joana'];
console.log(`O primeiro elemento da lista de tamanho ${listaNomesPessoas.length} é ' + ${listaNomesPessoas[0]}`);

//Crie uma lista com 3 nomes e exiba no console apenas o segundo elemento.

let listaAnimais = ['Cachorro','Papagaio','Gato'];
console.log('O segundo elemento da lista é ' + listaAnimais[1]);

//Crie uma lista com 3 nomes e exiba no console apenas o último elemento.

let lisImoveis = ['Casa','Apartamento','Chácara'];
console.log('O terceiro elemento da lista é ' + listaAnimais[2]);
4 respostas

Ao criar uma lista com CONST ou LET, na maioria dos cenários elas se comportam de forma igual. Usando const, vc não consegue reatribuir a variável, mas como vc consegue alterar o conteúdo interno dela, na prática não faz grande diferença.

Texto do chatGPT sobre o assunto: Isso mesmo! A diferença principal entre const e let em relação a listas (ou outros objetos mutáveis) em JavaScript está na reatribuição da variável em si. Com const, você não pode reatribuir a variável a um novo objeto ou valor, mas isso não impede a modificação do conteúdo interno do objeto referenciado.

Em outras palavras, usando const, você não pode fazer algo como:

const minhaLista = [1, 2, 3];
// minhaLista = [4, 5, 6];  // Isso resultaria em um erro

// Mas você pode modificar o conteúdo interno da lista
minhaLista.push(4);
console.log(minhaLista);  // [1, 2, 3, 4]

Enquanto com let, você pode reatribuir a variável a um novo objeto:

let minhaLista = [1, 2, 3];
minhaLista = [4, 5, 6];  // Reatribuição permitida

// E, é claro, você também pode modificar o conteúdo interno da lista
minhaLista.push(7);
console.log(minhaLista);  // [4, 5, 6, 7]

Ambas as abordagens têm suas utilizações, e a escolha entre const e let dependerá das necessidades específicas do seu código e do estilo de programação que você está adotando. O uso de const é preferido sempre que possível, para indicar que a variável não será reatribuída, promovendo assim a imutabilidade e a clareza no código.

Obrigado pelos esclarecimentos. Porém ainda ficou uma dúvida sobre a atribuição da lista sem CONST e LET, da seguinte forma:

listaGenerica = ['Alfa', 'Beta'];

Usando o console obtemos:

console.log(listaGenerica[0]);

Resposta: Alfa

console.log(listaGenerica[1]);

Resposta: Beta

É alguma anomalia do JavaScript?

Eu sinceramente nunca tinha prestado atenção nisso e resolvi testar aqui.

![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade )

Me parece que se não declarar nada, ele interpreta como LET.

solução!

Olá, Audrey! Pelo que vi, atribuir valor a uma variável não declarada antes a cria como global, mas um pouco diferente de uma "var" (caso ela tivesse sido antes declarada como var). Então, atribuir um valor a uma variável não antes declarada é como criar uma variável do tipo 'var' com algumas diferenças, as quais você pode verificar neste link: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Statements/var