Faaaaala, Jorge
Bom, então você sabe que uma variável atribuída usando let
pode ter seu valor alterado futuramente, ao passo que uma variável const
não tem essa mesma flexibilidade.
Sobre o var
e o let
, ambas declarações são muito similares, a principal diferença entre elas é o escopo. As variáveis declaradas como let
só existem no bloco em que foram definidas, já as variáveis declaradas com var
tem uma presença um pouco maior.
if (condicao){
var um = 1;
let dois = 2;
}
//aqui a var um ainda existe e é acessível, já a dois não existe mais porque seu escopo está limitado ao if
for(let i =0, var j = 0; i< 5;i++,j++){
fazAlgumacoisa();
}
//aqui o i não existe mais e o j ainda é acessível
Isso permite utilizar variáveis com nomes iguais usando let
let x = 1;
if(condicao){
let x = 11;
console.log(x);//vai imprimir 11 porque este x é uma variável diferente da inicializada fora do bloco if
}
console.log(x);//vai imprimir 1;