JavaScript moderno com ES6–ES13 (Tutorial de JS)

Declaração de variáveis em JavaScript: let e const explicados

Todos os vídeos do tutorial JavaScript moderno com ES6-ES13 (Tutorial de JS)

Neste tutorial, vamos abordar os diferentes métodos de declaração de variáveis em JavaScript, especialmente as palavras-chave let e const do padrão ES6 em comparação com var, que até o ES5 era a única maneira de criar variáveis. Muitos desenvolvedores encontraram comportamentos inesperados ao usar var, que levaram a bugs. Esta lição te ajudará a entender os métodos modernos e a garantir que você declare e use variáveis de forma eficaz.

Principais aprendizados

As novas declarações de variáveis let e const oferecem vantagens em termos de escopo, visibilidade e segurança no uso de variáveis. let permite o uso de uma variável dentro de um bloco de escopo, enquanto const cria uma atribuição imutável.

Guia passo a passo

Declaração de variáveis

Para trabalhar efetivamente com variáveis em JavaScript, primeiro vamos explorar a declaração de variáveis usando var, let e const. Vamos começar com o arquivo main.js, que está vinculado ao seu documento HTML.

Declaração de variáveis em JavaScript: let e const explicados

Aqui, vamos usar a palavra-chave var para declarar uma variável. Vamos criar uma variável chamada W e atribuir um valor inicial.

Comportamento de var

Um comportamento típico de var é que a variável é visível mesmo quando você a inicializa mais tarde no código. Vamos testar isso:

Vou fazer uma saída no console de C antes da inicialização. Espere o resultado quando eu definir a variável C como 0. Na saída, deve aparecer undefined, pois o valor só é definido após a linha de atribuição.

Introdução ao let

Agora, vamos examinar let. Para mostrar a diferença, substitua var por let e inicialize a variável C com let C = 0.

Se eu tentar usar C antes da atribuição, receberei uma mensagem de erro indicando que estou acessando uma variável não inicializada. Esse comportamento resulta em um erro sempre que você tenta acessar uma variável não definida.

Declaração de variáveis em JavaScript: let e const explicados

Blockscope com let

Outra vantagem de let é a capacidade de declarar uma variável dentro de um bloco de escopo. Vamos usar uma declaração if para isso:

Se eu criar let C = -1 dentro do bloco if, essa variável será visível apenas dentro desse escopo de bloco. Se eu tentar usar C fora do bloco, receberei um erro.

Declaração de variáveis em JavaScript: let e const explicados

Uso de const

O próximo passo é o uso de const. Se eu usar const em vez de let, estou criando uma variável constante que não pode mais ser alterada.

Se eu tentar reatribuir C após a atribuição const C = 0, uma mensagem será exibida dizendo que não posso atribuir um novo valor a uma variável constante.

Objetos imutáveis com const

Quando usamos const para declarar um objeto, o próprio objeto ainda pode ser modificado, mas não a referência. Posso adicionar elementos ao objeto sem problemas.

Melhores práticas para o uso de let e const

Com base na minha experiência, recomendo usar const como padrão, a menos que você tenha certeza de que o valor da variável precisará ser alterado mais tarde. Essa prática resulta em código mais legível e manutenível.

Use let quando for necessário alterar o valor dentro de um bloco de escopo. Um exemplo pode ser uma variável de contagem em um loop.

Resumo – Declaração de variáveis em JavaScript: let e const versus var

Em resumo, investigamos as diferenças entre var, let e const. let e const oferecem melhorias essenciais em termos de escopo e segurança das variáveis. Enquanto var é global ou local de função, let e const garantem visibilidade dentro de um bloco de escopo. Além disso, const assegura a imutabilidade da atribuição, o que reduz bugs e comportamentos inesperados no código.

Perguntas frequentes

Como declaro uma variável em JavaScript?Você pode declarar uma variável em JavaScript usando as palavras-chave var, let ou const.

Qual é a diferença entre let e var?let permite a declaração de variáveis que são visíveis apenas dentro de um bloco de escopo, enquanto var é visível globalmente.

Quando devo usar const?const deve ser usado quando você tem certeza de que o valor de uma variável não deve mudar durante a execução do programa.

O que acontece se eu tentar reatribuir uma constante?Você receberá um erro, pois uma variável const não pode ser alterada.

Posso modificar objetos com const?Sim, você pode modificar as propriedades de um objeto declarado com const, mas não a referência ao objeto em si.