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

erro ao usar variáveis do tipo let

quando escrevo o código e atribuo "x" e "y" com variáveis do tipo "let" o console acabe acusando um erro, é falado que "x" ou "y" não foi definido e apresenta um ReferenceError. O mesmo não acontece quando se utiliza as variáveis do tipo "var", quando uso essas, apenas é informado que ambos, "x" e "y" são undefined .

Alguém poderia me explicar porque o console retorna essa mensagem de erro quando utilizo as mensagens do tipo let? No fim das contas as duas mensagens querem dizer a mesma coisa? Tem o mesmo intuito?

4 respostas

Você declarou o LET dentro de alguma função ?

fiz igual no gabarito da resposta, com o let dentro da função.

solução!

Olá Hugo !

Verificando e testando aqui, o que posso te passar é o seguinte.

O LET não muda de escopo, ou seja, se você declarar a variável como LET e usar um IF como no gabarito, o console não vai conseguir entender as variáveis, pois o LET tá no escopo do IF e não sobe para a FUNCTION. Por isso com VAR funciona.

Para funcionar, teria que declarar o LET fora do IF, pois o IF sendo escopo filho, consegue ler as variáveis LET do pai (Function).

Isso também vale para variáveis do tipo CONST.

Espero ter ajudado.

Olá Alex!

Então, caso utilize as variáveis do tipo LET, teria que declarar elas fora do escopo da função, sem atribuir valor e depois reatribuí-las dentro da função. Agora ficou mais claro. Muito obrigado pelo esclarecimento.