Learn JavaScript Step by Step (Without Feeling Lost)

Not sure what to learn next? This roadmap shows you exactly what to learn, from basics to advanced, one step at a time.

Start from Basics →
15 Beginner Topics 20 Intermediate Topics 17 Advanced Topics

→ Start from the Beginner section. Complete one topic at a time. Don't skip ahead.

Beginner Level

Start here to build strong basics.

15 Topics

Learn what JavaScript is and why it's the most popular language for building websites.

Understand how JavaScript was born and how it evolved into the language it is today.

Get your coding environment ready before you write your first line of JavaScript.

Add notes to your code that JavaScript ignores. Essential for readable, maintainable code.

Display messages in the browser using console, alert, and other output methods. Your first step to seeing JavaScript in action.

Learn how to store information in your code, like names, numbers, and more.

Understand the different kinds of values JavaScript can work with, such as text, numbers, true/false, and more.

Learn the symbols used to do math, compare values, and make quick decisions in code.

Make your code smart. Run different code depending on a condition.

10

Loops

Run the same block of code over and over without repeating yourself.

Group code you want to use again and again. One of the most important things in JavaScript.

12

Arrays

Store lists of items and learn the powerful tools to work with them.

13

Objects

Group related data together. That is the way most real-world data is organized in JavaScript.

Change what users see on the page. Update text, colours, and content with JavaScript.

15

Events

React to clicks, keypresses, and other user actions on your webpage.

Intermediate Level

Now level up your JavaScript skills.

20 Topics

Learn the modern shortcuts that make JavaScript cleaner and easier to write.

A shorter way to write functions. You'll see this everywhere in real code.

Pull out values from objects and arrays in one line. A modern shortcut you'll use daily.

Copy arrays, merge objects, and pass multiple arguments using just three dots.

20

JSON

Learn the standard format for sending and receiving data. Used in almost every web application.

Two ES6 data structures for storing unique values and key-value pairs more efficiently than arrays or plain objects.

Organize your code around objects and classes. A cleaner, scalable way to structure larger programs.

Learn how a function can "remember" variables from where it was created. A tricky but important concept.

24

Scope

Learn where your variables are available and why some work in one place but not another.

Understand why some variables and functions can be used before they appear in the code.

Find and fix mistakes in your code using browser dev tools and debugging techniques.

Pass a function as an argument to be called later. The foundation of async JavaScript before Promises.

Handle tasks that take time, like loading data, without freezing your page.

A cleaner way to write code that waits for something, like an API call, to finish.

Catch and handle things that go wrong in your code without crashing the whole app.

31

Modules

Split your code into separate files and import what you need. Keeps things clean and organized.

32

AJAX

Load data from a server in the background without refreshing the page. The classic technique behind dynamic websites.

Load data from a server without reloading the page. The modern, clean way.

34

Working with APIs

Connect to real data sources on the internet and build things that actually do something.

Interact with the browser window itself and save data locally so it persists across sessions.

Advanced Level

Master advanced concepts step by step.

17 Topics

Learn how JavaScript runs tasks step by step behind the scenes, even when things overlap.

37

Call Stack

See how JavaScript keeps track of which function is running and what happens when they nest.

Understand how objects in JavaScript can share features. It is the foundation of JavaScript's object system.

Learn what happens behind the scenes every time a piece of your code runs.

Learn how JavaScript frees up memory automatically and how to avoid slowing your app down.

Learn the tried-and-tested ways professionals organize and structure their JavaScript code.

42

Functional Programming Concepts

Learn a different way to write JavaScript that is cleaner, more predictable, and easier to test.

Make your JavaScript faster. Reduce lag, avoid unnecessary work, and improve user experience.

44

JavaScript in Browser vs Node

Learn what changes when JavaScript runs in a browser versus on a server.

45

Web APIs

Tap into powerful browser features like real-time connections, location, and background tasks.

Run heavy JavaScript tasks in the background without blocking the main thread or freezing the UI.

Learn how to keep your JavaScript apps safe from common attacks and security mistakes.

Learn how to check that your code works correctly, automatically, every time you make changes.

Get familiar with the ecosystem - bundlers, linters, package managers, and build tools used in real projects.

Search, match, and replace text patterns with powerful regex syntax.

Create custom iterable sequences and control function execution with yield.

Intercept and customize fundamental object operations like property access and assignment.

Now Stop Reading. Start Learning.

Pick the first topic and begin. Every expert started exactly where you are right now.