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 it

Phase 1Absolute start

  1. #1What JavaScript is and how to run it
  2. #2JavaScript statements, comments, and reading errors
  3. #3JavaScript variables: let, const, and var
  4. #4JavaScript naming and clean basics

Phase 2Values

  1. #5JavaScript types you actually meet
  2. #6JavaScript numbers and Math basics
  3. #7JavaScript strings and template literals
  4. #8JavaScript operators and equality
  5. #9JavaScript truthy, falsy, and boolean coercion
  6. #10JavaScript optional chaining and nullish coalescing

Phase 3Control flow

  1. #11JavaScript if, else, and switch
  2. #12JavaScript loops: for, while, for…of, for…in
  3. #13JavaScript break, continue, and loop control

Phase 4Functions

  1. #14JavaScript functions from zero
  2. #15JavaScript function declarations vs expressions
  3. #16JavaScript arrow functions — when to use them
  4. #17JavaScript scope and hoisting plainly
  5. #18JavaScript default parameters and rest
  6. #19JavaScript callbacks as values
  7. #20JavaScript higher-order functions
  8. #21JavaScript pure vs impure functions
  9. #22JavaScript errors: try, catch, and throw

Phase 5Arrays

  1. #23JavaScript arrays: basics and mutation
  2. #24JavaScript array forEach and map
  3. #25JavaScript array filter, find, and findIndex
  4. #26JavaScript array some, every, and includes
  5. #27JavaScript array reduce from zero
  6. #28JavaScript array slice, splice, and concat
  7. #29JavaScript array sort and common mistakes
  8. #30JavaScript common array patterns

Phase 6Objects and references

  1. #31JavaScript objects basics
  2. #32JavaScript Object.keys, values, and entries
  3. #33JavaScript destructuring objects and arrays
  4. #34JavaScript spread and rest with objects
  5. #35JavaScript primitives vs references
  6. #36JavaScript object mutation and shared state
  7. #37JavaScript shallow vs deep copy
  8. #38JavaScript type coercion common surprises
  9. #39JavaScript JSON parse and stringify
  10. #40JavaScript Set and Map basics

Phase 7Browser JS

  1. #41JavaScript DOM select and change
  2. #42JavaScript DOM traversal
  3. #43JavaScript create elements and lists
  4. #44JavaScript forms and user input
  5. #45JavaScript events and listeners
  6. #46JavaScript event bubbling and capturing
  7. #47JavaScript event delegation
  8. #48JavaScript DOMContentLoaded, defer, and async
  9. #49JavaScript data attributes
  10. #50JavaScript localStorage, sessionStorage, and cookies
  11. #51JavaScript modules in the browser

Phase 8Async

  1. #52JavaScript callbacks and timing
  2. #53JavaScript promises plainly
  3. #54JavaScript promise chaining
  4. #55JavaScript async await everyday
  5. #56JavaScript fetch API basics
  6. #57JavaScript HTTP status and error handling
  7. #58JavaScript Promise all and friends
  8. #59JavaScript AbortController with fetch

Phase 9Mental models

  1. #60JavaScript this in plain English
  2. #61JavaScript call, apply, and bind
  3. #62JavaScript constructor functions
  4. #63JavaScript prototype chain
  5. #64JavaScript classes, extends, and super
  6. #65JavaScript composition vs inheritance
  7. #66JavaScript closures with real examples
  8. #67JavaScript execution context and call stack
  9. #68JavaScript event loop and task queues

Phase 10Useful deeper JS

  1. #69JavaScript modules: named, default, and dynamic import
  2. #70JavaScript dates you will actually use
  3. #71JavaScript RegExp basics for forms
  4. #72JavaScript debounce from zero
  5. #73JavaScript throttle from zero
  6. #74JavaScript memoization from zero

Phase 11Engineering habits

  1. #75JavaScript debugging with console and breakpoints
  2. #76JavaScript common beginner bugs checklist
  3. #77JavaScript clean code habits for juniors
  4. #78JavaScript security basics for frontend
  5. #79JavaScript testing basics for JS functions

Phase 12Practice

  1. #80JavaScript coding problems warmup
  2. #81JavaScript mini project: todo DOM
  3. #82JavaScript mini project: fetch list UI

Phase 13Bridge

  1. #83JavaScript to Node.js: what changes
  2. #84JavaScript to React: what you already know
  3. #85JavaScript: what to learn next