## glossário
O que é Variáveis?
Variável é um espaço de memória identificado por um nome, usado para armazenar um valor que pode ser consultado e — dependendo da declaração — alterado durante a execução do programa. É o conceito mais fundamental de qualquer linguagem de programação.
A analogia mais usada é a da caixa etiquetada: você guarda algo dentro e usa a etiqueta para encontrar depois. A etiqueta é o nome; o conteúdo é o valor.
Declaração em JavaScript: var, let e const
var antigo = 'escopo de função, evite em código novo';
let contador = 0; // pode ser reatribuída
contador = 1; // válido
const TAXA = 0.15; // não pode ser reatribuída
TAXA = 0.2; // TypeError
// atenção: const impede reatribuir, não mutar
const lista = [1, 2];
lista.push(3); // válido — o array mudou
lista = [4]; // TypeError — a variável, nãoAquela última distinção confunde muita gente. const congela a ligação entre o nome e o valor, não o conteúdo do objeto. Para tornar o objeto imutável de fato, é preciso Object.freeze() ou estruturas imutáveis.
Escopo: onde a variável existe
- Escopo global — acessível de qualquer lugar. Evite: gera colisões de nome e acoplamento difícil de rastrear.
- Escopo de função — o que
varrespeita; a variável vive na função inteira, mesmo declarada dentro de um bloco. - Escopo de bloco — o que
leteconstrespeitam; a variável existe apenas entre as chaves onde foi declarada.
for (var i = 0; i < 3; i++) {
setTimeout(() => console.log(i), 0);
}
// imprime 3, 3, 3 — todos compartilham a mesma variável
for (let j = 0; j < 3; j++) {
setTimeout(() => console.log(j), 0);
}
// imprime 0, 1, 2 — cada iteração tem seu próprio jTipagem: estática ou dinâmica
Em linguagens de tipagem dinâmica como JavaScript e Python, a variável não declara tipo e pode receber valores de tipos diferentes ao longo da execução. Em linguagens de tipagem estática como Java, Go e TypeScript, o tipo é declarado ou inferido e verificado antes de rodar — o que transforma erros de execução em erros de compilação.
Boas práticas de nomeação
Prefira nomes que descrevam o conteúdo, não o tipo: usuariosAtivos comunica mais que arr. Use const por padrão e só troque para let quando a reatribuição for realmente necessária — isso sinaliza intenção a quem lê. E evite abreviações que só fazem sentido para quem escreveu. O tema se conecta diretamente a lógica de programação e estrutura de dados.
## faq
Perguntas frequentes
Devo usar let ou const?
Use const por padrão. Se o linter ou o compilador reclamar que a variável precisa ser reatribuída, troque para let. Isso deixa explícito quais valores mudam ao longo da execução e reduz uma classe de erros por alteração acidental.
Por que não usar var?
Porque seu escopo de função gera comportamentos contraintuitivos, especialmente dentro de laços e blocos condicionais. Ela também permite redeclaração silenciosa do mesmo nome. let e const, introduzidos no ES6, resolvem ambos os problemas.
Qual a diferença entre variável e constante?
Variável admite alteração do valor durante a execução; constante não pode ser reatribuída depois de definida. Em JavaScript, const cria uma constante de ligação — o nome não pode apontar para outro valor, embora objetos e arrays atribuídos a ela ainda possam ser modificados internamente.