A documentação diz que 'let' é utilizado para criar variáveis de escopo local o que não acontece no caso do jogo. Como eu posso entender melhor o uso do 'let' nesse caso?
A documentação diz que 'let' é utilizado para criar variáveis de escopo local o que não acontece no caso do jogo. Como eu posso entender melhor o uso do 'let' nesse caso?
Oi oi, Jeanna! Tudo bem com você?
Muito interessante sua colocação e de fato a variável declarada com let
pode ser utilizada em um escopo mais fechado. No entanto, algumas variáveis nesse código precisam ser consumidas por mais de uma função e por isso são declaradas no escopo global. E por qual motivo então não utilizamos a var
? Porque o uso de var
para declarar variáveis é entendido como uma má prática dentro do desenvolvimento com JavaScript.
const
, let
e var
são formas de manipular variáveis em JavaScript. Antes de 2015 existia apenas a var
. No entanto, com as especificações ECMAScript, muitas mudanças foram incorporadas na linguagem, inclusive a adoção de let
e const
. Em um primeiro momento podemos pensar que essas palavras reservadas funcionam da mesma maneira, mas ao trabalharmos com essas diferentes formas de guardar valores, percebemos que suas diferenças se fundamentam em escopo e armazenamento de informações.
Com var
e let
podemos instanciar e modificar os objetos ao longo do código. Porém, a const
é um pouco mais "fechada", pois a referência desse tipo de variável na memória do computador será a mesma sempre, por isso não podemos substituir seu valor, o que gera maior consistência ao código.
Um outro ponto de atenção também é em relação ao escopo de variáveis. Quando declaramosvar
, temos o problema de "vazamento" do valor dessa variável em outros locais, o que é considerado algo muito problemático. Por esse motivo a let
foi incorporada, pois possui um escopo de bloco mais fechado mas conseguimos realizar a alteração de seus valores se precisarmos. E lembra que eu falei que a const
era mais "fechada"? Seu escopo também funciona dessa forma, se declaramos uma variável const dentro de uma função ou um if, por exemplo, esta não ficará acessível em outras partes do código.
Devemos ter em mente que a utilização de const
ou let
é de acordo com a regra de negócio ou implementação que será realizada, a declaração dessa variável deve seguir a lógica dos objetivos de seu projeto. Ex: se quiser que um valor possa ser modificado, utilize let. Caso seu objetivo seja manter o valor fixo ou que seja acessado apenas dentro de uma função específica, utilize const
.
Esse artigo é muito importante e recomendo fortemente que você assista ao vídeo do Marco Bruno, pois ele mostra na prática como funciona a questão do escopo:Como funciona o var, let e const? #01
Um artigo sensacional aqui da Alura que explica e demonstra as diferenças entre as variáveis: Entenda a diferença entre var, let e const no JavaScript
Temos também o Curso Fundamentos do JavaScript: Tipos, variáveis e funções , que é excelente para aprofundar um pouco esse conhecimento e você pode acompanhar a explicação sobre as variáveis nesta aula: Tipos de variáveis
Vou deixar também um artigo muito bacana do imaster sobre o assunto e vale a pena conferir: Let, const e var não é tudo a mesma coisa?
Por fim, siga a dica do Marco Bruno e Esqueça var! :D
Um forte abraço para você, continue contribuindo com o fórum e bons estudos!
Muito obrigada!