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? |
function makeCounter() {let count = 0;return () => ++count;}const next = makeCounter();console.log(next(), next());
Keep the experiment focused on scope and the scope chain and change one assumption at a time.
Keep the experiment focused on scope and the scope chain and change one assumption at a time.
This example demonstrates scope and the scope chain 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.
Finish the lesson once you have worked through the material. This awards ★ 20 XP.