ExpertiDict

JavaScript · Intermediário · Inglês · Técnico

temporal dead zone

/ˈtɛmpɚəl dɛd zoʊn/substantivo

Intervalo entre o início do escopo e a linha onde let, const ou class são declaradas, durante o qual acessar o nome lança ReferenceError.

Onde usar

Aparece como o erro 'Cannot access x before initialization'. Em code review, indica ordem errada de declarações ou dependência circular entre módulos.

Em código

{
  // a zona morta de x começa aqui
  console.log(typeof x); // ReferenceError
  let x = 5;
}

Exemplos

You hit the temporal dead zone by using x before its let.

Você caiu na temporal dead zone ao usar x antes do seu let.

The error says cannot access before initialization: that's the TDZ.

O erro diz que não dá para acessar antes da inicialização: é a TDZ.

Cuidado

Pensar que let e const não sofrem hoisting: elas existem desde o início do escopo, mas ficam inacessíveis até serem inicializadas.

Sinônimos

TDZ, zona morta temporal

Veja também

Todos os termos de JavaScript