Olá!!
Observando o código da aula, fiquei curiosa pra saber a diferença prática entre o let e o var, já que elas duas me parecem estar na mesma estrutura.
(Não sei nada de javascript XD )
Olá!!
Observando o código da aula, fiquei curiosa pra saber a diferença prática entre o let e o var, já que elas duas me parecem estar na mesma estrutura.
(Não sei nada de javascript XD )
Olá, Tatiane, como vai?
No JavaScript, tanto o var quanto o let são utilizados para declarar variáveis, mas eles possuem diferenças importantes no comportamento, principalmente em relação ao escopo e à forma como o JavaScript trata essas variáveis durante a execução do código.
A principal diferença prática está no escopo. O var tem escopo de função, enquanto o let tem escopo de bloco. Escopo de bloco significa que a variável só existe dentro do par de chaves onde foi declarada. Já o var ignora esses blocos e fica disponível em toda a função.
Por exemplo:
function exemplo() {
if (true) {
var nome = "Tatiane";
}
console.log(nome);
}
Nesse caso, o código funciona normalmente, porque o var não respeita o bloco do if. A variável nome fica acessível em toda a função.
Agora veja com let:
function exemplo() {
if (true) {
let nome = "Tatiane";
}
console.log(nome);
}
Aqui ocorre erro, porque nome só existe dentro do bloco do if. Fora das chaves, ela não está definida.
Outra diferença importante é que o var permite redeclarar a mesma variável no mesmo escopo sem erro:
var preco = 10;
var preco = 20;
Com let, isso não é permitido:
let preco = 10;
let preco = 20; // erro
Além disso, existe a questão do hoisting. O var é “içado” para o topo da função e pode ser acessado antes da linha onde foi declarado, embora com valor undefined. Já o let também sofre hoisting, mas não pode ser acessado antes da declaração, gerando erro. Isso torna o let mais previsível e seguro.
Em códigos mais modernos em JavaScript, é recomendado usar let na maioria dos casos, porque ele evita comportamentos inesperados relacionados a escopo e redeclaração. O var é mais antigo e ainda funciona, mas pode gerar confusão em códigos maiores.
Mesmo para quem está começando agora, vale a pena já se acostumar com let, pois é o padrão atual da linguagem.
Sugestão de conteúdo:
Espero ter ajudado.
Siga firme nos seus estudos e conte com o fórum sempre que precisar.
Abraços :)