The JavaScript roadmap
Every JavaScript lesson we teach, laid out as one path. Each station is a stage; tap any lesson to open it. Stations turn teal as you finish them.
Legend:Lesson stageStage completeTap a lesson to open it
01
Language Foundations
How JavaScript Runs
Variables & Scope: let, const, var
Data Types & Primitives
Operators & Type Coercion
02
Values & Expressions
Strings & Template Literals
Numbers, BigInt & Math
Type Conversion
null, undefined & NaN
03
Control Flow
Conditionals: if, switch, ternary
Loops: for, while, for...of, for...in
Iterables & the Iteration Protocol
04
Functions
Functions: Declarations, Expressions & Arrows
Hoisting & the Temporal Dead Zone
Scope Chain & Closures
The this Keyword & Binding
Higher-Order Functions & Callbacks
Recursion & the Call Stack
05
Objects
Objects: Properties & Methods
References, Copying & structuredClone
Destructuring, Spread & Rest
Object Methods & Property Descriptors
06
Prototypes & Classes
The Prototype Chain
Classes: Syntax & Inheritance
Private Fields, Getters & Static
this in Classes & Method Binding
07
Collections & Data
Arrays: Create, Mutate & Access
Array Iteration: map, filter, reduce
Map, Set, WeakMap & WeakSet
JSON: parse & stringify
08
Asynchronous JavaScript
The Event Loop: Call Stack, Queue & Microtasks
Callbacks & Callback Hell
Promises: then, catch & chaining
async / await
Promise Combinators
09
Browser Web APIs
Fetch, AJAX & HTTP
Web Storage: localStorage, cookies & IndexedDB
Timers & requestAnimationFrame
Observer APIs: Intersection, Mutation & Resize
Web Workers & Off-Main-Thread
10
DOM & Events
The DOM Tree
The DOM: Selecting & Traversing
DOM Manipulation
Events & Listeners
Bubbling, Capturing & Delegation
Forms & User Input
11
Modern JS & Modules
ES Modules: import & export
Optional Chaining & Nullish Coalescing
Symbols & Well-Known Symbols
Generators & Iterators
12
Metaprogramming & Advanced
Proxy & Reflect
Error Handling: try/catch & custom errors
Memory, References & Garbage Collection
13
Text & Time
Regular Expressions
Dates, Time & Intl
14
Patterns & Performance
Debounce & Throttle
Memoization & Currying
Design Patterns: Module, Factory, Observer
Immutability & Pure Functions
Performance & Rendering
15
Tooling, Debugging & Testing
Debugging & the Console
Testing Basics
Data Structures & Big-O
16
Interview Gotchas
Classic JS Gotchas & Quiz
Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.