Modern JavaScript Array Methods in 45 Minutes
by Marcus Hale
Understand what the engine is doing so async bugs stop feeling like random chance.
MH Created by Marcus Hale
Every bullet below is something you will have built, shipped or be able to explain by the time you finish the last lesson.
6 modules · 51 lessons · 6h 44m of material
10 lessons running 1h 18m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
9 lessons running 1h 14m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
10 lessons running 1h 20m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
7 lessons running 54m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
8 lessons running 1h 04m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
7 lessons running 54m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
6 modules · 51 lessons
6h 44m total length
Short list, and deliberately so. If you meet these you can start today.
There is a specific stage in learning JavaScript where the syntax is comfortable but the behaviour is not. A callback captures the wrong variable. A loop of awaits takes ten seconds instead of one. Something logs in an order that makes no sense. Every one of those has the same cause: an incomplete model of scope and the event loop. This course builds the correct one.
Closures are covered until they are boring, with memory diagrams, the classic loop-variable trap, module and factory patterns, and practical uses such as memoisation, debouncing and private state. Then comes the runtime: the call stack, the task queue, the microtask queue, and why a promise callback always runs before a timeout of zero. You will predict the output of increasingly nasty snippets and be right.
The applied half covers promise composition with all, allSettled, race and any, cancellation with AbortController, error propagation through async functions, generators and async iterators, and streaming a large response without loading it into memory. It closes with performance work: measuring long tasks, breaking them up, and keeping interaction responsive under load.
Still unsure about something? Write to misteryjj100@gmail.com and a human answers, usually the same working day.
Reviews are written by people who bought this course. We publish the critical ones too.
5.0
Rated 5.0 out of 5Course rating · 1 review
Jean-Luc Baptiste
Frontend engineer
The animation running the call stack, the microtask queue and the task queue side by side is the clearest account of the event loop I have come across, and it made an entire category of setTimeout bug obvious in retrospect. The AbortController chapter was a bonus I had not expected.
Web engineer and JavaScript educator
Marcus has shipped front ends for two ad-tech startups and one very large retailer, which taught him more about performance budgets than any blog post could. He teaches JavaScript and TypeScript from the runtime up — event loop first, framework second — then follows the same code through Node on the server side. Every one of his courses ends with a deployed application rather than a folder of exercises. He writes a weekly newsletter on browser performance.
One-time payment · lifetime access