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? |
const base = ['html', 'css'];const stack = [...base, 'javascript'];const add = (...items) => items.length;console.log(stack, add('git', 'node'));
This example demonstrates default, rest, and spread parameters 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 default, rest, and spread parameters 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 default, rest, and spread parameters 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.