Variáveis: let e const
Programas precisam guardar informações para usar depois: um nome, um placar, um total. É exatamente para isso que existem as variáveis.
Estudar esta lição interativa →Todo programa, por mais simples que seja, precisa lembrar de coisas. Um jogo lembra a sua pontuação, um site de compras lembra o que está no carrinho, um formulário lembra o nome que você digitou. Só que o computador não decide isso sozinho: é você, programando, que diz a ele o que guardar e com que nome. É exatamente para isso que existem as variáveis, e é por isso que elas são a primeira coisa que se aprende em qualquer linguagem.
Uma variável é um espaço na memória do computador onde fica guardado um valor, identificado por um nome que você mesmo escolhe. Esse nome é o que torna tudo prático. Em vez de repetir o valor toda vez que precisar dele, você o guarda uma única vez e, daí em diante, passa a se referir a ele pelo nome. E se um dia esse valor mudar, você troca em um lugar só, porque o resto do programa trabalha com o nome, e não com o valor fixo escrito à mão.
Um exemplo do dia a dia deixa isso concreto. Imagine que você está calculando o preço final de um produto que custa 50 reais, aplicando frete e desconto. Sem variáveis, você espalharia o número 50 por vários pontos da conta. Se amanhã o preço virasse 60, você teria que caçar cada aparição do 50 e trocar uma por uma, correndo o risco de esquecer alguma. Com uma variável chamada preco, você escreve o valor uma única vez, usa preco onde precisar e, para atualizar tudo, muda em um só lugar. Menos trabalho, menos erro, e ainda por cima um código que se explica: quem lê preco entende na hora do que se trata, o que não acontece com um 50 solto no meio da conta.
Uma variável é como uma caixa etiquetada: a etiqueta é o nome (idade, nome) e dentro fica o valor guardado (25, "Ana").
Em JavaScript moderno, você cria uma variável com a palavra let (ou const), seguida do nome, de um sinal de = e do valor. Uma linha simples como let idade = 25 já tem quatro partes, e cada uma tem o seu papel:
As quatro partes de uma declaração: o let cria a variável, idade é o nome que você escolhe, o sinal de = guarda o valor (por isso lemos "recebe") e 25 é o valor guardado.
Depois de criada, é só usar o nome idade em qualquer lugar do programa que o JavaScript busca o valor por você. Veja na prática:
// Uma variável é uma "caixa" com nome que guarda um valor.
let nome = "Ana";
let idade = 25;
console.log(nome);
console.log(idade);
// Como é 'let', podemos TROCAR o conteúdo depois:
nome = "Ana Clara";
console.log(nome);Aquele sinal de = costuma confundir quem está começando, e com razão: na matemática ele quer dizer "é igual a". Na programação, aqui, ele significa outra coisa, ele quer dizer "recebe". A linha let idade = 25 não está afirmando que idade é igual a 25; ela está mandando guardar o 25 dentro de idade. Por isso a gente lê da direita para a esquerda: "idade recebe 25". Fixar essa leitura agora evita muita confusão lá na frente.
E, como usamos let, esse valor não é definitivo. Podemos trocá-lo mais adiante, e para isso não repetimos o let, afinal a variável já existe, só queremos colocar um novo conteúdo dentro dela. Basta escrever idade = 26. A partir desse ponto, toda vez que o programa consultar idade, vai encontrar o valor novo, porque o antigo foi substituído. Foi isso que aconteceu no exemplo acima, quando o nome passou de "Ana" para "Ana Clara": a segunda atribuição jogou fora o valor anterior e colocou o novo no lugar.
Só que nem todo valor deveria poder mudar. Muitas vezes você quer garantir que algo fique fixo do início ao fim do programa, como a taxa de um imposto, o número de casas de um tabuleiro ou o valor de pi. Para esses casos existe o const (de "constante"). Uma variável criada com const recebe um valor uma vez e trava: se, mais adiante, o seu código tentar trocá-la, o JavaScript interrompe e avisa com um erro, de propósito. Isso pode parecer um estorvo à primeira vista, mas na verdade é uma rede de proteção: ela impede que você altere por acidente algo que deveria permanecer parado, um dos erros mais comuns em programas grandes.
Com let, você pode trocar o que está guardado. Com const, a variável fica travada: tentar guardar outro valor nela dá erro.
// 'const' cria uma caixa que NÃO pode ser trocada.
const pi = 3.14;
console.log(pi);
// Tente descomentar a linha abaixo e rodar: vai dar erro!
// pi = 3.15;
// Regra prática: use 'const' por padrão.
// Só troque para 'let' quando REALMENTE precisar mudar o valor.Na dúvida, comece sempre com const. Só troque para let quando perceber que aquele valor realmente vai precisar mudar ao longo do programa. Seguir essa ordem deixa o seu código mais seguro e mais fácil de ler: só de bater o olho, qualquer pessoa (inclusive você daqui a três meses) já sabe o que é fixo e o que pode variar. Com o tempo, você vai notar que a grande maioria das variáveis nunca muda, então o const acaba sendo o seu companheiro do dia a dia.
O const impede que a variável passe a apontar para outro valor. Mas, se o valor for uma lista ou um objeto (assuntos dos próximos módulos), o conteúdo dele ainda pode mudar: const compras = []; compras.push("pão") funciona, porque a variável continua apontando para a mesma lista. O que o const proíbe é compras = [], que tentaria apontar para uma lista nova.
Em códigos e tutoriais mais antigos, você vai encontrar uma terceira palavra: o var. Ele foi o jeito original de criar variáveis no JavaScript, mas tem regras confusas de "alcance" (onde a variável existe) que geram bugs difíceis de rastrear. A linguagem amadureceu e resolveu esses problemas com o let e o const. Então a recomendação em 2026 é simples e direta: pode esquecer o var e usar sempre let ou const.
// Sua vez! Complete e clique em Rodar.
// 1. Crie uma variável 'cidade' com a sua cidade (troque ...):
let cidade = "...";
console.log(cidade);
// 2. Troque o valor de 'cidade' e mostre de novo:
cidade = "...";
console.log(cidade);Complete aqui mesmo e clique em Rodar.