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

var ou let?

Uma dúvida simples, queria saber se há diferença entre var e let

4 respostas

Olá Eurico,

Sim, existe uma diferença entre elas, abaixo uma breve explicação. Quando se declara a variável com var, ela pode ser utilizada em qualquer parte do código; Quando se declara uma variável com let, ela somente pode ser acessada em qualquer parte do código se você declarar ela globalmente. Caso declare let dentro de um bloco, ela será acessível somente dentro desse bloco.

Para um entendimento melhor e que está bem detalhado a explicação, acessa esse link Diferença entre var, let e const no JavaScript

solução!

Oi, Eurico! No começo pode parecer um pouco confusa a diferença entre as três possíveis formas de se declarar uma varíavel em Javascript (var, let e const). No entanto, é bem fácil entender: a primeira coisa que você precisa saber é que a forma utilizada no curso, a var, está de certa forma obsoleta. É claro que neste início a forma como você irá declarar não importa tanto, mas conforme você precisar de ferramentas mais robustas para programar, ficará mais claro para você porque a var está obsoleta. Dito isso, vamos a uma explicação breve de qual seria a diferença. Para que você entenda melhor, vou escrever um pequeno código e recomendo que você o copie e cole num arquivo .html dentro da tag <script> para que você mesmo possa testar no seu navegador:

if(true) {
    var umaVariavel = 'existe!';
    }

console.log(umaVariavel);

Você notará que o código acima irá imprimir a mensagem existe! no seu console. Basicamente, o que fizemos aqui foi criar uma espécie de "bloco isolado" do restante do código usando o if(true) e declarando uma variável dentro dele. Apesar de ser um bloco isolado, foi possível acessar a variável declarada fora dele. No entanto, o mesmo não funciona para let:

if(true) {
    let umaVariavel = 'existe!';
    }

console.log(umaVariavel);

No código acima, o código irá retornar undefined. Isso porque a variável umaVariavel só existe dentro do bloco isolado que criamos com o if(true). Já o const é utilizado para valores constantes que, uma vez declarados, não serão mais alterados. Ele também só existe dentro do escopo definido, igual o let. A diferença é que ele não pode ser reatribuído (ou seja, declarado novamente) porque supõe-se que um valor constante não mude. Aqui tem um ótimo resumo do site constletvar.com: Resumo das variáveis

Espero ter ajudado!

Muito obrigado gente

Muito obrigado gente