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

[Dúvida] Boa tarde! Minha duvida é referente a alternativa correta do exercicio:

Boa tarde! Minha duvida é referente a alternativa correta do exercicio: Me confundi nas explicações sobre a variavel const, pois a alternativa explica que a referencia ao objeto ou valor da const sempre sera o mesmo, eu entendi que a referencia permanecera a mesma até dentro de colchetes, mas logo depois tem a afirmação de que o valor não se torna imutavel, mas esse não imutavel ocorre somente se recriarmos a variavel const dentro dos colchetes certo? Ai seria como se a const fosse mutavel?

Eu ja entendi que uma const declarada dentro de um bloco de codigo{} só existe la dentro, mesmo que ja declarada dentro da main.

!Print da alternativa correta do exercicio.

2 respostas
solução!

Oi, Wallace, tudo bem?

Quando você declara uma variável com const, você está dizendo que a referência que essa variável tem para um valor ou objeto não pode ser alterada. Isso significa que, uma vez que você atribui um valor a uma variável const, você não pode fazer com que essa variável aponte para um novo valor ou objeto. Por exemplo, se você fizer const pi = 3.14;, você não pode depois fazer pi = 3.14159; porque isso tentaria mudar a referência que pi tem para o valor 3.14.

Agora, quando falamos sobre a imutabilidade do valor mantido pela variável, estamos tratando de outra questão. Se o valor atribuído a uma const for um objeto, como um array ou um objeto literal, você não pode reatribuir a variável a um novo objeto, mas pode modificar o objeto em si. Por exemplo:

const meuObjeto = { chave: 'valor' };
meuObjeto.chave = 'novoValor'; // Isso é permitido
meuObjeto = { outraChave: 'outroValor' }; // Isso causaria um erro

No caso de seu exercício, a declaração const pi = 29 dentro do bloco de código cria uma nova variável pi que só existe dentro desse bloco. A variável pi original, declarada fora do bloco com o valor 3.14, não é alterada. Variáveis const (assim como let) têm escopo de bloco, o que significa que se você as declara novamente dentro de um bloco, como uma estrutura de controle ou uma função, você está criando uma nova variável que só é acessível dentro desse bloco.

Espero ter ajudado. Caso tenha dúvidas, conte com o fórum.

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Ah, agora entendi, agora eu saquei, agora todas as peças se encaixaram OBG!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software