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

Erro na resposta do exercício

Olá, equipe Alura!

Gostaria de informar que nenhuma das opções de resposta para o exercício sobre var, let e const está correta. A resposta que o exercício dá como correta para a execução do código abaixo é: 3.14 42 29 e 3.14 29 3.14.

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

}
console.log(respostaDeTudo, idade, pi)

Mas, na verdade, o código não executa o segundo console.log porque idade e pi têm escopo local. Seria impresso 3.14 42 29 somente e apontado o erro na linha do segundo console.log. O interpretador trata idade e pi do segundo console.log como varáiveis que não foram declaradas.

Me corrijam se eu estiver errada. Por favor.

Abraços!

2 respostas
solução!

Olá Ana, tudo bem?

Vamos analisar o exercício:

//primeiro trecho de código

var respostaDeTudo = 42
let idade = 29
const pi = 3.14
//bloco de código que é acrescentado 

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

}
console.log(respostaDeTudo, idade, pi)

Neste caso, o exercício propõe que o bloco seja acrescentado ao código substituindo os valores e não que substitua o primeiro trecho de código. Caso fosse para substituir o primeiro trecho, de fato ocorreria o que você citou, que as váriaveis não foram declaradas e o console apresentaria o valor 3.14 42 29.

Como o intuito é acrescentar o bloco e trocar os valores, o código ficará:

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)

E no console mostrará como diz a alternativa A da atividade:

3.14 42 29
3.14 29 3.14

Espero ter ajudado, em caso de dúvidas fique a vontade para perguntar. Bons estudos!

Ah sim. Agora entendi o que foi proposto. Obrigada, Beatriz! Desculpa a confusão.