LEVEL 4 · JAVASCRIPT
Course Core
Advanced JavaScript
How JavaScript really works: this and prototypes, the built-in objects, iterators, generators and symbols, functional techniques, the event loop and asynchronous code in depth, memory, error design and module systems.
0 of 17 lessons done
When you finish, you can
- Explain what this is in any call, and how the prototype chain resolves a property
- Choose between inheritance and composition
- Use strings, numbers, BigInt, dates, regular expressions, Map, Set and weak collections correctly
- Write iterators, generators and custom protocols with symbols
- Predict the order in which synchronous code, microtasks and timers run
- Cancel asynchronous work and limit concurrency
- Find and fix a memory leak
- Design which errors are handled and which propagate
You build: A tested utility library: an iterator toolkit, a retrying fetch with cancellation and a memory-safe cache
MODULE 1
The object model
- 1this in depthPredict this in every kind of call, fix a lost this with call, apply, bind and arrow functions, and write your own bind and bindAll helpers.50 min
- 2Prototypes in depthFollow the prototype chain step by step, rewrite new, instanceof and extends yourself, see what a class becomes, and block prototype pollution.55 min
- 3Inheritance and compositionSee why subclasses break when their parent changes, then build behaviour from small parts with wrappers, delegation, mixins and functions, and use private fields well.55 min
MODULE 2
Built-in objects
- 4Strings in depthMeasure, cut, normalise, search, sort and format real product names with accents and emoji, using code points, grapheme clusters, Intl.Segmenter and Intl.Collator.55 min
- 5Numbers in depthLearn how IEEE-754 doubles store numbers, where precision ends, how to round, parse and format naira amounts exactly, and when to reach for BigInt.55 min
- 6Collections in depthChoose between Map, Set, WeakMap, WeakSet and WeakRef by how they compare keys, keep order and hold memory, and build a bounded cache and object-keyed memoisation.50 min
- 7Dates and time zonesUnderstand what a Date really stores, parse and format instants safely across Africa/Lagos and UTC, do calendar arithmetic, and store dates correctly in APIs.55 min
MODULE 3
Iteration and symbols
- 8Iterables and iteratorsLearn the protocol behind for...of, spread and destructuring, then write your own iterables: a number range and an API paginator that fetches pages lazily.50 min
- 9GeneratorsWrite iterators as ordinary loops with function* and yield, then stream order lines lazily from a paged API into a CSV export, with cleanup that always runs.50 min
- 10SymbolsUse symbols as keys that never clash, plug your objects into the language with well-known symbols, and build a Money type that refuses to add naira to dollars.45 min
MODULE 4
Functional JavaScript
MODULE 5
Asynchronous JavaScript in depth
- 12Promises in depthSee exactly what a promise guarantees, how chains pass values and errors along, how thenables work, and how to turn a callback SDK into promises safely.55 min
- 13Combining promisesRun independent work in parallel with Promise.all, allSettled, race and any, put a time limit on a slow provider, and choose sequential, parallel or batched.50 min
- 14The event loopBuild an exact model of the call stack, task queue and microtask queue, solve ordering puzzles with it, and keep long jobs from starving timers and requests.50 min
- 15Concurrency and cancellationLimit how many jobs run at once with a pool, cancel unneeded work with AbortController, and find and fix the race conditions of concurrent async code.60 min
MODULE 6
How JavaScript runs
Course checkpoint
Prove you can move on. The checkpoint picks 20 questions at random from every lesson in this course. Get 16 right to pass. Your result is saved in this browser only.