1
resposta

let vs var

Boa tarde, gostaria de saber a diferença entre as tags "var" e "let". Vi no google algo sobre espoco de bloco e função mas nao entendi muito bem. Posso fazer um código inteiro usando somente uma delas??

1 resposta

Oi, Mateus, tudo bem?

Tanto var quanto let são utilizadas para declarar variáveis em JavaScript, mas possuem algumas diferenças.

  • var tem escopo de função, ou seja, a variável declarada com var fica visível em todo o escopo da função em que foi declarada, mesmo que esteja em um bloco de código. Por exemplo:

    function exemploVar() {
        if (true) {
          var x = 10;
        }
        console.log(x); // x é visível aqui, mesmo que tenha sido declarado dentro do bloco if
    }
    exemploVar(); // Saída: 10
    

    Neste exemplo, a variável x é declarada com var dentro do bloco if, mas ainda é visível e acessível fora desse bloco porque var tem escopo de função.

  • let tem escopo de bloco, o que significa que a variável declarada com let fica visível apenas dentro do bloco de código em que foi declarada.

    function exemploLet() {
        if (true) {
          let y = 20;
        }
        console.log(y); // Isso resultará em um erro, pois y não está definido neste escopo
    }
    exemploLet(); // Erro: y is not defined
    

    Neste exemplo, a variável y é declarada com let dentro do bloco if, mas não é visível fora desse bloco porque let tem escopo de bloco.

Você pode usar tanto var quanto let para escrever um código inteiro, mas é recomendado utilizar let para ter um controle mais preciso do escopo das variáveis e evitar problemas de sobreposição ou vazamento de escopo.

Espero ter ajudado. Caso tenha dúvidas, conte com o fórum. Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!