let Declaração

Última atualização: 2026-10-13

let Declaração

CategoriaDeclarações

⚙️ Parâmetros

变量名
初始值

Modifica o original:Não (retorna um novo valor)

💡 Dica
⚠️ Aviso

🌐 Suporte do navegador

Navegador ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
let ✓ v49 ✓ v12 ✓ v44 ✓ v10 ✓ v36
Suportado por todos os navegadores modernos
Mais estudos de caso em breve — aguarde.

📚 Tutoriais relacionados

❓ Perguntas frequentes

QQual é a diferença entre let e var?
ATrês pontos: escopo (let tem escopo de bloco, var tem escopo de função e pode vazar para o objeto global), redeclaração (let proíbe, var permite) e hoisting (let mantém o binding na zona morta temporal e lança erro, var retorna undefined).
QPor que usar uma variável let antes de declará-la lança um erro?
AO intervalo entre entrar no escopo e executar a declaração let é chamado de zona morta temporal (TDZ). O binding existe, mas não foi inicializado, então acessá-lo lança um ReferenceError. Isso é intencional: evita os bugs silenciosos de undefined que var permite.
QPor que o let se comporta de forma diferente dentro de loops?
ACom let, cada iteração recebe sua própria cópia da variável de loop (herdando o valor anterior), então cada closure captura a sua própria iteração. Com var há um único binding compartilhado, então os callbacks observam apenas o último valor.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%