1
resposta

[Dúvida] Para quem não entendeu a lógica do exercicio.

Consegui entender a lógica do exercício, pelo menos acho que consegui kkkkkkkkkk Utilizei do artigo da Alura sobre var,let e const.

var respostaDeTudo = 42
let idade = 29
const pi = 3.14

{
    var respostaDeTudo = 3.14
    let idade = 42
    const pi = 29
    console.log(respostaDeTudo, idade, pi)

}
console.log (respostaDeTudo, idade, pi)

Vamos lá! sabemos que a "const" é algo constante que não pode mudar, diferente da " var" e de "let", porém diferente da var, a let funciona por meios de escopo. Mas aí você pode está se perguntando:** "Qual escopo?"**

Podemos dizer que nessa trecho de código temos dois blocos, primeiramente é feito um somente com as declarações e logo após existe outro bloco separado desse, é ai que entra o escopo. A variável "let" que está fora do outro bloco é tratada como uma variável totalmente diferente da que está dentro do bloco, por conta disso, o valor que está dentro do bloco não é agregado a let idade com foi com var respostaDeTudo pois são tratadas com duas coisas diferentes.

Essa foi minha lógica, caso esteja errado, alguém da Alura me corrige kkkkkk

1 resposta

Fala Juan, tudo certo?

Perfeito, é isso mesmo! Os escopos definem onde as variáveis existem e quais devem ser utilizadas pelo código. Quando falamos de uma variável declarada com o var, ela é global e pode ser alterada, sim, em outros escopos a partir da redeclaração. Já com o let e const, estamos declarando a variável no escopo atual, e quando saímos deste escopo ela deixa de existir!

Quando temos duas variáveis com a mesma declaração, em escopos diferentes, prevalece a variável do escopo atual do código, por isso dentro do bloco de código utilizamos as variáveis declaradas dentro dele, apesar de terem o mesmo nome das variáveis declaradas anteriormente!

Parabéns pela dedicação e obrigado por compartilhar o seu entendimento aqui no fórum, é muito legal saber o que você está estudando!

Um grande abraço e bons estudos!