Diferenças nas declarações de variáveis: let x var

Diego Telles
JavaScript World
Published in
2 min readDec 28, 2018

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

declaração exemplo

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.

--

--

Diego Telles
JavaScript World

AWS Community Builder | Tech Manager | Front-end | Mozillian Member 🦊| Subscribe: youtube.com/UnicornCoder