Developers
JavaScript from Zero
Learn JavaScript in curriculum order — from running your first script to arrays, objects, the browser, and async.
Also see the AI hub and free tools.
Start here
#1What JavaScript is and how to run itPhase 1 — Absolute start
Phase 2 — Values
Phase 3 — Control flow
Phase 4 — Functions
- #14JavaScript functions from zero
- #15JavaScript function declarations vs expressions
- #16JavaScript arrow functions — when to use them
- #17JavaScript scope and hoisting plainly
- #18JavaScript default parameters and rest
- #19JavaScript callbacks as values
- #20JavaScript higher-order functions
- #21JavaScript pure vs impure functions
- #22JavaScript errors: try, catch, and throw
Phase 5 — Arrays
- #23JavaScript arrays: basics and mutation
- #24JavaScript array forEach and map
- #25JavaScript array filter, find, and findIndex
- #26JavaScript array some, every, and includes
- #27JavaScript array reduce from zero
- #28JavaScript array slice, splice, and concat
- #29JavaScript array sort and common mistakes
- #30JavaScript common array patterns
Phase 6 — Objects and references
- #31JavaScript objects basics
- #32JavaScript Object.keys, values, and entries
- #33JavaScript destructuring objects and arrays
- #34JavaScript spread and rest with objects
- #35JavaScript primitives vs references
- #36JavaScript object mutation and shared state
- #37JavaScript shallow vs deep copy
- #38JavaScript type coercion common surprises
- #39JavaScript JSON parse and stringify
- #40JavaScript Set and Map basics
Phase 7 — Browser JS
- #41JavaScript DOM select and change
- #42JavaScript DOM traversal
- #43JavaScript create elements and lists
- #44JavaScript forms and user input
- #45JavaScript events and listeners
- #46JavaScript event bubbling and capturing
- #47JavaScript event delegation
- #48JavaScript DOMContentLoaded, defer, and async
- #49JavaScript data attributes
- #50JavaScript localStorage, sessionStorage, and cookies
- #51JavaScript modules in the browser
Phase 8 — Async
Phase 9 — Mental models
- #60JavaScript this in plain English
- #61JavaScript call, apply, and bind
- #62JavaScript constructor functions
- #63JavaScript prototype chain
- #64JavaScript classes, extends, and super
- #65JavaScript composition vs inheritance
- #66JavaScript closures with real examples
- #67JavaScript execution context and call stack
- #68JavaScript event loop and task queues