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 parsePort(value) {const port = Number(value);if (!Number.isInteger(port) || port < 1 || port > 65535) {throw new RangeError('Invalid TCP port');}return port;}
This example demonstrates handling browser api errors 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 useful habit here is to inspect the actual value or runtime state rather than trusting a name. The example below is intentionally small, so one changed line has an obvious effect.
Finish the lesson once you have worked through the material. This awards ★ 20 XP.