A blog series
JavaScript Part 2: Objects, Async and Modules
The second half of JavaScript: objects and prototypes, this and classes, promises and async/await, modules, iterators and generators, the DOM and events, errors and Proxy, and memory. Each idea is traced with small examples that were run.
- Started
- 2026
- Lessons
- 8
- Reading
- ~4 h
Contents
Every lesson has the same steps: what it is, how it works, a real example, common mistakes, then interview questions with answers you can say out loud.
- Lesson 00Objects and the Prototype ChainProperty descriptors, how lookup walks the prototype chain, new traced step by step, shadowing, freeze and seal.25 min
- Lesson 01this, call/apply/bind and ClassesThe four rules for this, arrow functions, call, apply and bind, and classes shown as sugar over prototypes.25 min
- Lesson 02Promises and async/await From the Ground UpPromise states, microtask order, a promise built by hand, async/await, the combinators and AbortController.30 min
- Lesson 03Modules: ES Modules, CommonJS, Bundlers and Tree ShakingLive bindings versus copies, Node's module rules, circular imports, and a real bundle built with esbuild.30 min
- Lesson 04Iterators, Generators and SymbolsThe iteration protocol, writing iterators and generators by hand, lazy sequences, async iterators and symbols.28 min
- Lesson 05The DOM and EventsThe DOM tree, changing nodes, capturing and bubbling traced, event delegation, custom events and forms, run with jsdom.28 min
- Lesson 06Errors, Proxy, Reflect, Copying and ImmutabilityThrowing and catching, Proxy traps with Reflect, shallow versus deep copies, structuredClone and immutable updates.30 min
- Lesson 07Memory, Garbage Collection and WeakMap/WeakRefReachability, five usual leaks measured, WeakMap and WeakRef, typed arrays and how to find a leak with heap snapshots.22 min
Glossary
20 terms used in this series. Inside any lesson, hover or tap a dotted term to see its meaning without leaving the page. Browse all terms →