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);