Advanced
Iterators, generators, Proxy, design patterns, functional programming, performance, and concurrency.
Progress: 0 / 11 topics completed
Iterators & Generators
Iterators & Generators
Build custom iteration protocols using Symbol.iterator and generator functions to produce lazy, on-demand sequences.
Symbols & Well-Known Symbols
Use Symbol primitives as unique, collision-proof property keys and customise built-in JavaScript behaviour with well-known symbols.
Advanced Patterns
Proxy & Reflect
Intercept and redefine fundamental object operations using Proxy traps, and maintain correct semantics with the Reflect API.
JavaScript Design Patterns
Apply classic and JavaScript-specific design patterns Observer, Strategy, Command, Decorator, and Module to write maintainable production code.
Functional Programming
Apply functional programming principles pure functions, immutability, currying, function composition, and functors to write predictable, testable JavaScript.
Performance & Memory
Memory Management & WeakRef
Understand how JavaScript's garbage collector works, prevent memory leaks, and use WeakRef and FinalizationRegistry for advanced cache and lifecycle patterns.
Performance Optimization
Profile JavaScript execution, understand V8 optimisation internals, and apply concrete techniques to reduce parse time, layout thrashing, and unnecessary allocations.
Concurrency & Streams
Web Workers & Concurrency
Run CPU-intensive tasks on background threads using Web Workers, SharedArrayBuffer, and Atomics for true parallel execution without blocking the UI.
Streams & ReadableStream
Process data incrementally with the WHATWG Streams API ReadableStream, WritableStream, and TransformStream for memory-efficient handling of large or infinite data sources.
Advanced Async Patterns
Master async generators, async iteration, structured concurrency with AbortController, and advanced Promise combinators for robust asynchronous JavaScript.