let, const e como evitar var
Noções básicas de let e const, por que evitar var, escopo de bloco e uma introdução gradual à zona temporal morta (TDZ).
let, const e como evitar var é uma aula grátis de JavaScript Academy no CoddyKit. Esta é a aula 1 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de JavaScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de JavaScript Academy inclui 3 aulas no total.
Introdução
Objetivo: Use let e const com segurança, evite o legado var e entenda o escopo de bloco e a TDZ.
- let e const
- Escopo de bloco
- Segurança com TDZ

Noções básicas de let e const
Regra: Use const, a menos que planeje reatribuir; nesse caso, escolha let.
// Prefer const by default; use let when you need to reassign
const appName = "CoddyKit";
// cannot reassign
let score = 0;
// can reassign
score = score + 1;
console.log("App:", appName);
console.log("Score:", score);

Por que evitar var
Evite var porque:
- Ele tem escopo de função, não de bloco.
- Ele sofre içamento e pode ser lido como undefined antes da declaração.
- Ele torna as refatorações mais difíceis e menos previsíveis.

Demonstração do escopo de bloco
O escopo de bloco ajuda a manter as variáveis locais e o código organizado.
// Block scope: variables exist only inside the braces
let lives = 3;
if (true) {
const bonus = 10;
// only inside this block
let level = 2;
// only inside this block
console.log("Inside:", bonus, level);
}
console.log("Lives:", lives);
// The following would be ReferenceError if uncommented:
// console.log(bonus, level);

TDZ (demonstração segura)
TDZ: uma variável let/const não pode ser lida antes da linha de sua declaração; isso evita muitos erros.
// TDZ: accessing let/const before declaration throws ReferenceError
try {
// Uncommenting next line would throw:
// console.log(theme);
// ReferenceError (TDZ)
let theme = "dark";
console.log("Theme after declare:", theme);
} catch (e) {
console.log("Caught:", e.message);
}

Nomenclatura e dicas
Nomenclatura:
- Use substantivos claros para dados (userName, score).
- Use verbos para funções (computeTotal).
- Mantenha o escopo restrito; declare perto do uso.

Quiz sobre let e const
Verificação rápida: escopo de bloco e reatribuição.

Recapitulação
Recapitulação: Prefira const e use let quando precisar reatribuir; evite var. O escopo de bloco mantém as variáveis locais, e a TDZ evita erros de acesso antecipado.

Perguntas Frequentes
A aula “let, const e como evitar var” é grátis?
Sim — o texto completo de “let, const e como evitar var” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de JavaScript Academy, atualize para CoddyKit PRO. O curso de JavaScript Academy inclui 3 aulas no total.
O que vou aprender em “let, const e como evitar var”?
Noções básicas de let e const, por que evitar var, escopo de bloco e uma introdução gradual à zona temporal morta (TDZ). Você pratica JavaScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar JavaScript Academy?
Nenhuma experiência prévia é necessária. JavaScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 3.
Quanto tempo leva a aula “let, const e como evitar var”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de JavaScript Academy?
Sim. Cada aula de JavaScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- let, const e como evitar var
- Escopo de bloco, função e módulo e a TDZ
- Nomenclatura, legibilidade e armadilhas comuns