Your product could be here, in front of thousands of JavaScript developers. Sponsor this spot →
JavaScript Quiz

What is the temporal dead zone in JavaScript?

Do you know what will be the output of this code?

JavaScript
console.log(b);
let b = 5;
Show answer and explanation

The answer is ReferenceError: Cannot access 'b' before initialization.

let and const are hoisted too, but they stay uninitialized until their declaration line runs. The time in between is called the temporal dead zone.

Take the full quiz Next question →

More Scope & Hoisting questions

  1. Is a var loop variable accessible after a for loop?
  2. Why does var in a loop with setTimeout print 3 3 3?
  3. Why does let in a for loop fix the setTimeout closure problem?
  4. Why does using a var before its declaration return undefined?
  5. Can you call a function before it is declared in JavaScript?

Related topics