Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] let vs var

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 )

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

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.

Para saber mais:

Sugestão de conteúdo:

Espero ter ajudado.

Siga firme nos seus estudos e conte com o fórum sempre que precisar.

Abraços :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado