Learn what JavaScript is, where it runs, and how it adds behavior to web pages.
JavaScript Roadmap
This roadmap provides a recommended learning order from JavaScript fundamentals to application skills, advanced concepts, and specialized topics. Follow one milestone at a time and practice before moving on.
Start with Beginner and move forward as the core concepts become comfortable.
Beginner Level
Build the core concepts needed to start writing JavaScript.
Understand how JavaScript was born and how it evolved into the language it is today.
Set up an editor, a browser, and a simple way to run JavaScript while you learn.
Comments
Add notes for intent, assumptions, or tricky decisions while keeping comments accurate.
Display values with the console and browser dialogs so you can observe your code while learning.
Give values meaningful names so your program can store and work with changing information.
Recognize primitive and object values, including strings, numbers, booleans, null, and undefined.
Use operators to calculate, compare values, assign results, and combine conditions.
Choose which code runs by evaluating conditions with if, else, and switch.
Loops
Repeat work over collections or until a condition changes, using the loop that fits the task.
Functions
Package reusable behavior into functions with inputs, outputs, and a clear responsibility.
Arrays
Store ordered collections and transform, search, sort, and iterate over their values.
Objects
Group related properties and behavior in objects that model data in your application.
Read and update the document so JavaScript can change page content and structure.
Events
Listen for user and browser events, then run the right response when they occur.
Intermediate Level
Use modern JavaScript to build applications and work with asynchronous data.
Learn language additions such as let, const, template literals, and modules that improve clarity and capability.
Use concise function syntax and understand lexical this, which behaves differently from regular functions.
Extract selected values from objects and arrays while keeping data transformations readable.
Expand iterable values or object properties for copying, merging, and function calls, while distinguishing spread from rest.
JSON
Parse and produce a text format commonly used to exchange structured data with web services.
Set & Map
Use Set when values must be unique and Map when keys should point to values, including keys beyond strings.
Understand classes, prototypes, inheritance, and composition as different ways to model behavior and relationships.
Closures
Understand how a function can retain access to its lexical environment after the outer function returns. Review Scope first.
Scope
Learn how global, function, block, and module scope control where names can be accessed. This is a prerequisite for Closures.
Hoisting
Understand how declarations are initialized during execution, including the different behavior of functions, var, let, and const.
Debugging
Find and fix mistakes in your code using browser dev tools and debugging techniques.
Callbacks
Pass a function to run later or when an operation finishes, a pattern that leads naturally to Promise-based code.
Promises
Represent the eventual success or failure of an asynchronous operation and compose dependent work.
Use readable syntax for working with Promises while the runtime can continue handling other work.
Validate inputs and handle failures where you can recover, report useful context, or show a safe fallback.
Modules
Use import and export to define file boundaries, share code, and control dependencies in a module-based application.
AJAX
Learn the older XMLHttpRequest approach for maintaining existing applications; prefer Fetch for new browser code.
Fetch API
Use the browser-provided Fetch API with Promises to request resources, inspect responses, parse data, and handle failures.
Working with APIs
Work with endpoints, request methods, response data, authentication, and errors when integrating external services.
Use browser features such as location, history, and storage, while understanding that these are Web APIs rather than core JavaScript.
Advanced Level
Study internals, performance, security, and specialized APIs after the core path.
Event Loop
Understand how the runtime coordinates synchronous code, queued jobs, and asynchronous callbacks.
Call Stack
See how the call stack tracks active function calls and how nested calls return in last-in, first-out order.
Understand how objects delegate property and method lookup through a prototype chain.
Study the environment created to evaluate code, including bindings, scope, and the current execution state.
Learn how garbage collection reclaims unreachable objects and how retained references can cause memory leaks.
Study reusable design approaches and their tradeoffs, then choose patterns that fit the problem.
Functional Programming Concepts
Use functions, immutability, and composition to make data transformations easier to reason about and test.
Measure bottlenecks, reduce unnecessary work, and improve responsiveness without optimizing blindly.
JavaScript in Browser vs Node
Compare the JavaScript language with host environments, including browser Web APIs and Node.js server APIs.
Web APIs
Use browser-provided capabilities such as location, networking, and background processing that are separate from the JavaScript language.
Web Workers
Move suitable computation to a worker context and exchange data with the page through messages.
Protect applications by validating input, safely handling output, and understanding browser security boundaries.
Use focused tests to verify behavior and catch regressions as code changes.
Understand package managers, linters, formatters, bundlers, and build tools when a project needs them.
Define patterns for searching, validating, and replacing text when regular expressions fit the problem.
Build iterable sequences and pause or resume generator functions with yield.
Intercept selected object operations with Proxy and use Reflect for standard forwarding behavior.
Use the Roadmap as a Guide
Begin with the first topic, practice what you learn, and return to the roadmap when you are ready for the next step.