A structured lesson workspace with readable content, hands-on examples, and a clean path to completion.
| Observation | Diagnostic question |
|---|---|
| Runtime value | What value actually arrived? |
| Language rule | Which rule determines the result? |
console.log(typeof declaredLater);var declaredLater = 10;// let/const bindings exist before initialization, but are not usable in the TDZ.
This example demonstrates hoisting and the temporal dead zone directly. Change one input at a time and observe the result; the goal is to connect the syntax to the runtime behavior rather than treating the snippet as a recipe.
This example demonstrates hoisting and the temporal dead zone directly. Change one input at a time and observe the result; the goal is to connect the syntax to the runtime behavior rather than treating the snippet as a recipe.
A common failure with hoisting and the temporal dead zone is changing several variables at once. That hides which rule actually caused the result.
Finish the lesson once you have worked through the material. This awards ★ 20 XP.