Diferenças nas declarações de variáveis: let x var
Olá mestres, como muitas pessoas ainda tem duvidas em como declarar suas variáveis com JavaScript e muitas vezes acabam por declarar errado, fiz essa publicação pra ajudar você a entender melhor para que serve cada tipo de declaração (var e let).
A palavra reservada let foi implementada na versão do EC15 um tempo antes do seu próprio lançamento, mas muitos devs ainda usam errado.
Vamos entender as diferenças de uma forma bem breve e simples:
var → usamos para declarar uma variável global a qual pode ser reescrita;
let → Uma variável em escopo global declarada com let
não é exportada como global.
Legal, mas o que seria uma variável dentro do escopo? Veja aqui as diferenças.
var x let
Se declaramos 2 variáveis uma com var e a outra com let dessa forma
A saída dela é exatamente essa, até ai está tudo normal, mas ai resolvemos mudar os valores delas e é ai que a graça começa…
Nos deparamos com esse erro: “Identifier ‘ca’ has already been declared”, que significa: “Meu devinho lindo , a variável “ca” já foi declarada, e não poder ser declarada novamente.”
Conclusão
Ao contrário de var
que quando usado sobrepõe/re-inicia a variável e torna-a disponível dentro do escopo da função em que está, let
é mais refinado/detalhado e permite diferenças em escopo de blocos. Isto é valido para blocos if
, for
, while
por exemplo.Não permitindo reescrever a mesma como nos exemplos citados.