JavaScript · Intermediário · Inglês · Técnico
temporal dead zone
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