ExpertiDict

JavaScript · Avançado · Português · Técnico

ambiente léxico

/ɐ̃biˈẽtʃi ˈlɛksiku/substantivo

Estrutura interna que mapeia nomes de variáveis a valores e aponta para o ambiente externo. É por esse encadeamento que closures e a busca de variáveis funcionam.

Onde usar

Aparece ao estudar a especificação ECMAScript e ao depurar vazamentos de memória causados por closures. Em code review avançado, ajuda a explicar por que um objeto grande continua vivo.

Em código

const x = 'fora';
function mostra() { console.log(x); }
function outra() {
  const x = 'dentro';
  mostra(); // 'fora': escopo léxico
}
outra();

Exemplos

O ambiente léxico explica por que a closure enxerga o x.

O ambiente léxico é fixado onde a função foi escrita.

Cuidado

Achar que o escopo é decidido na chamada: o ambiente léxico é definido pelo lugar onde a função foi escrita.

Sinônimos

lexical environment, escopo léxico

Veja também

Todos os termos de JavaScript