Step 2 of 2 · your path
JavaScript, Intermediate
You know the syntax. Now learn the machinery: objects and prototypes, async that holds up on a real network, modules, and the browser APIs every real app reaches for.
Your progress
0 / 12 done
Up next
Scope & functions, properly
9 min read · 2 exercises
The order I'd read them in
About 1 h 22 min of reading. Tick off what you've read, it is remembered on this device.
- Scope & functions, properlyThe corners of how a scope is built, new versus bind, and what you build once functions are values: currying, composition, recursion.
2 exercises
- Objects deeplyThe rest of the object/array toolbox — past what the beginner chapter covered.
- Prototypes & OOPclass is real syntax now — but it's still prototypes underneath, every time.
- Async, properlyPromises, done right — and the sequential-vs-parallel mistake almost everyone makes once.
- Modules & toolingEverything that turns files full of JS into one thing a browser can run.
2 exercises
- Regex & datesTwo toolboxes every real app ends up reaching for, and the traps that come with each.
2 exercises
- Browser APIs, in depthStorage, the URL bar, and the event system — past what the beginner DOM chapter reached.
2 exercises
- Modern JavaScript, ES2023 to ES2026What the language gained in the last few years, and how to tell whether you can use it yet.
2 exercises
- Error handling & debuggingPast what the beginner errors chapter covered — error chains, lost rejections and real debugging tools.
2 exercises
- Real-time connectionsfetch answers one question at a time. This is what answers a stream of them.
2 exercises
- Offline & storagelocalStorage is fine for a theme or a small cache. Past a few MB, it stops being enough.
2 exercises
- The cheat pageNot another lesson — the night-before-the-interview skim of the other 38.
Practice at this level
Every exercise opens in the editor with tests you can run.
- Scope & functions, properly · 8 tests
- Objects deeply · 8 tests
- Objects deeply · 9 tests
- Objects deeply · 11 tests
- Objects deeply · 12 tests
- Async, properly · 9 tests
- Async, properly · 10 tests
- Prototypes & OOP · 10 tests
- Modules & tooling · 8 tests
- Modules & tooling · 9 tests
- Regex & dates · 9 tests
- Browser APIs · 10 tests
- Error handling · 8 tests
- Error handling · 9 tests
- Real-time connections · 8 tests
- Real-time connections · 8 tests
- Offline & storage · 8 tests
- Offline & storage · 9 tests
- Regex & dates · 9 tests
- Browser APIs · 11 tests
- Prototypes & OOP · 8 tests
- Prototypes & OOP · 9 tests
- Async, properly · 8 tests
- Async, properly · 8 tests
- Async, properly · 8 tests
- Async, properly · 8 tests
- Async, properly · 9 tests
- Modern JS · 10 tests
- Modern JS · 10 tests