1
resposta

[Dúvida] Não consigo realizar o mesmo exemplo feito na aula, seria por causa da versão do node?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Bom dia, Renan.

O problema no seu código é questão de escopo, e é exatamente o assunto da aula em questão. Ao usar o let para definir uma variável, ela está definida somente em seu bloco, nesse caso, dentro do bloco if, portanto o erro é que você está tentando atribuir valor para uma variável que não existe, já que a anterior morreu ao sair do bloco.

Possíveis soluções:

Declarar a variável fora do bloco, assim pode ser manipulada por todos os contextos.

let estudante;

if (1 > 0) {
    estudante = 'Caroline';
    console.log(estudante);
}

console.log(estudante);
estudante = 'Ana';
console.log(estudante);

Declarar a variável com a palavra chave var, que ignora escopo (não recomendado, pois polui o namespace).

if (1 > 0) {
    var estudante = 'Caroline';
    console.log(estudante);
}

estudante = 'Ana';
console.log(estudante);