Variáveis: let e const
Uma variável é um nome para um valor. Depois de let score = 10, a palavra score vale 10 até você dar outra coisa a ela.
Dando nome a um valor para usá-lo de novo
Até agora, cada valor foi digitado direto no console.log e depois esquecido. Programas de verdade precisam lembrar das coisas: a pontuação do jogador, os itens de uma cesta, o nome que alguém digitou. Uma variável é uma caixa com nome que guarda um valor. Você a cria uma vez e depois usa o nome dela onde precisar do valor.
let score = 10;
console.log(score); // mostra 10
console.log(score + 5); // mostra 15A linha let score = 10; faz duas coisas. A palavra-chave let declara uma variável nova chamada score, e = 10 põe o valor 10 dentro dela. O sinal de igual aqui não quer dizer "é igual a" como na matemática. Quer dizer "guarde o valor da direita no nome da esquerda." Os programadores chamam isso de atribuição. Quando score aparece mais tarde sem aspas, o JavaScript procura a caixa e usa o valor que está dentro.
Mudando um valor com let
Uma variável declarada com let pode receber um valor novo depois. Você escreve o nome, um sinal de igual e o novo valor, desta vez sem let, porque a variável já existe:
let score = 10;
score = 25;
console.log(score); // mostra 25
score = score + 5;
console.log(score); // mostra 30A linha score = score + 5; parece impossível como matemática, mas leia como uma instrução e ela faz sentido. O JavaScript primeiro avalia o lado direito, a pontuação atual mais 5, que dá 30. Depois guarda 30 de volta em score. O valor antigo some. Esse padrão, ler uma variável e guardar nela um valor atualizado, é como os programas contam, somam totais e acompanham qualquer coisa que muda.
const para valores que não mudam
A palavra-chave const também declara uma variável, mas ela precisa receber um valor na hora e nunca pode receber outro. Tentar fazer isso para o programa com TypeError: Assignment to constant variable. Esse erro é útil. Se um valor não deve mudar, como o número de dias de uma semana ou uma alíquota de imposto, declará-lo com const garante que um erro em outra parte do programa não possa sobrescrevê-lo em silêncio.
const daysInWeek = 7;
console.log(daysInWeek * 4); // mostra 28
// daysInWeek = 8; pararia com um TypeErrorUm bom hábito, recomendado por muitos guias de estilo, é usar const por padrão e trocar para let só quando você sabe que o valor vai mudar. Você também pode ver a palavra-chave antiga var em códigos pela web. Ela ainda funciona, mas segue regras mais frouxas que causam bugs surpreendentes, então este curso usa só let e const.
Regras para nomes
Um nome de variável pode ter letras, algarismos, o sublinhado _ e o cifrão $, mas não pode começar com algarismo nem ter espaços. Então total2 serve e 2total não. Os nomes diferenciam maiúsculas de minúsculas: score e Score são duas variáveis diferentes. Algumas palavras, como let, const, if e for, são reservadas pela linguagem e não podem ser usadas como nomes. Quando um nome é formado por várias palavras, os programadores de JavaScript costumam escrevê-lo em camelCase: a primeira palavra em minúsculas e cada palavra seguinte começando com maiúscula, como em totalPrice ou daysInWeek. Escolha nomes que digam o que o valor significa; price diz muito mais a quem lê do que x.
Declarada mas vazia, e usada cedo demais
Se você escrever let answer; sem valor, a variável existe, mas guarda undefined até você atribuir alguma coisa. Usar uma variável let ou const numa linha acima da sua declaração é erro: ReferenceError: Cannot access 'answer' before initialization. Usar um nome que nunca foi declarado dá ReferenceError: answer is not defined. As duas mensagens querem dizer a mesma coisa na prática: confira a grafia e confira se a declaração vem primeiro.
let nome = valor; pode mudar depois. const nome = valor; nunca muda.
| variável | Um nome que guarda um valor |
| declarar | Criar uma variável com let ou const |
| atribuição | Guardar um valor com = |
| let | Declara uma variável cujo valor pode mudar |
| const | Declara uma variável que não pode receber outro valor |
| camelCase | totalPrice: as palavras seguintes começam com maiúscula |
| undefined | O que uma variável declarada guarda antes de receber um valor |
| palavra reservada | Uma palavra como let ou if que não pode ser nome |
- O que isto mostra?
let x = 4; x = x + 3; console.log(x); - O que isto mostra?
let n = 2; n = 10; n = n * 3; console.log(n); - O que isto mostra?
let city = "Busan"; console.log("city");- Busan
- city
- undefined
- O que acontece quando isto roda?
const max = 5; max = 6;- max vira 6
- Para com TypeError: Assignment to constant variable
- Nada, max continua 5 em silêncio
- Qual é um nome de variável válido?
2ndPlacesecond placesecondPlace
- O que isto mostra?
let total; console.log(typeof total); - O que isto mostra?
let a = 5; let b = a; a = 9; console.log(b); scoreeScoresão a mesma variável?- Sim
- Não
- Qual palavra-chave usar para o número de minutos de uma hora?
constletvar
- O que isto mostra?
let word = "hi"; word = word + word; console.log(word);
- let nome = valor; declara uma variável que pode mudar.
- const nome = valor; declara uma variável que não pode receber outro valor.
- = quer dizer guardar, não "é igual".
- x = x + 1 lê x, soma 1 e guarda o resultado de volta.
- Nomes: letras, algarismos, _ e $, sem algarismo no começo, diferenciam maiúsculas de minúsculas, camelCase.
Fontes deste curso (2)
- MDN Web Docs, JavaScript Guide (developer.mozilla.org/en-US/docs/Web/JavaScript/Guide, chapters Introduction, Grammar and types, Control flow, Loops and iteration, Functions, Expressions and operators, Numbers and strings, Indexed collections, Working with objects; checked 2026-10-17)
- Ecma International, ECMA-262 ECMAScript 2026 Language Specification, 17th edition, June 2026 (tc39.es/ecma262 and ecma-international.org/publications-and-standards/standards/ecma-262, checked 2026-10-17)
Data de verificação: 2026-10-17