© 2026 Dometrain. All rights reserved.
Learn how JavaScript behaves underneath its syntax by writing event-loop schedulers, cancellable async helpers, Proxy-based state, binary encoders and an expression parser.
Some of the hardest JavaScript bugs come from behavior the syntax does not show: a callback that runs later than expected, a sum that drifts by a cent, a copy that still shares a nested object, a proxy that loses its receiver. Advanced JavaScript is a hands-on course for developers who already write classes, promises, async functions and generators comfortably and now want to know exactly what those features do. Every lesson is an exercise in Dometrain’s browser code editor, and each one checks what your code does: the order callbacks run in, whether a signal cancels the work, whether a copy still shares objects.
The course starts with the event loop, where you schedule work across tasks and microtasks and find out where await suspends. It moves to numbers and equality (floating-point tolerance, integer cents, BigInt, the == algorithm, Object.is), then to JSON round trips, deep equality, cyclic copies and structural sharing. The object model chapter covers key order, property descriptors, field initialization in derived classes, private methods, static blocks and well-known symbols. Async control flow follows with AbortController cancellation, timeouts, retry with backoff, concurrency limits, debounce and throttle. Generators and async iteration come next as control-flow tools, then Proxy, Reflect and tagged templates applied to reactive state and escaping. After text and binary data (code points, normalization, UTF-8 bytes, DataView and bit flags), the final chapter builds an event emitter, an LRU cache with expiry, async middleware, a state machine, and a tokenizer, parser and evaluator for arithmetic expressions.
It suits developers who finished Learn JavaScript, or who work with JavaScript every day and want to reason about its runtime instead of guessing.