Escopo Léxico
JavaScript
Escopo definido pela posição do código no arquivo, não pela pilha de chamadas.
seção
Explicação
Escopo Léxico — Escopo definido pela posição do código no arquivo, não pela pilha de chamadas.
Escopo determinado pela posição no código, não por quem chama. Inner function enxerga outer bindings.
Base formal de closures — diferente de dynamic scope (não existe em JS padrão).
seção
Exemplo
function outer() { const secret = 42; return function inner() { return secret; };}seção
Modo de uso
Factories com estado privado
Callbacks que capturam config
Module pattern
seção
Armadilhas comuns
Loop var + setTimeout clássico — usar let
Assumir this dinâmico onde vale lexical de variáveis
seção
Termos relacionados
Aprofundar no artigo
Quer ir além? Este artigo explora o tema em profundidade — leitura recomendada após o glossário.
Scope and Closures: Onde as Variáveis Vivem e Como as Funções Lembram
Entenda os tipos de escopo, o escopo léxico, closures e como var, let e const afetam visibilidade, segurança e previsibilidade no JavaScript.
ler artigoMais em JavaScript
Outros termos da mesma categoria para revisão em sequência.
Closure
JSFunção que retém acesso a variáveis do escopo externo onde foi criada.
também: fechamento
ver definiçãoHoisting
JSComportamento de mover declarações para o topo do escopo antes da execução.
ver definiçãoTemporal Dead Zone (TDZ)
JSPeríodo entre entrar no escopo e a declaração let/const onde o binding não pode ser acessado.
ver definição