We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.

Learn JavaScript

Learn how to program in JavaScript, the most popular programming language in the world.

What will you learn?

Master the fundamentals of modern JavaScript in this comprehensive interactive course. You'll be writing real-world code in minutes and solving challenges to cement your understanding of JS concepts. Learn how to use the most up-to-date JavaScript features in bite-sized hands on lessons, challenges and quizzes.

Chapter List

1
Variables
Learn the basic syntax of JavaScript and how to declare variables
2
Comparisons
Learn how to compare values and write conditional statements
3
Functions
Learn about the different ways to create and execute functions in JavaScript
4
Objects
Objects are one of the most-used JS structures, learn to master them
5
Classes
Learn about classes in JavaScript and how they differ from POJOs and the classes in other languages
6
Prototypes
Explore JavaScript prototypes and how they enable inheritance without traditional classes.
7
Loops
Understand and practice the many ways to iterate over a list of data
8
Arrays
Learn about contiguous memory storage in JavaScript
9
Errors
Practice good error handling with JavaScripts try/catch
10
Sets
Practice using the new ES6 (ES2015) set object for collections of unique values
11
Maps
Learn about the new ES6 map object for collections of key-value pairs
12
Promises
Understand promises and asynchronous programming in JavaScript, as well as the new async/await syntax
13
The Event Loop
Grok one of the most important elusive concepts beknownst to JavaScript developers, the asynchronous event loop
14
Runtimes
Learn about the different JavaScript runtimes and how they differ
15
Modules
ES6 Modules help us organize our code into separate files. Learn how to use them and how they differ from CommonJS.

Join 5,975 students in the Learn JavaScript course

Read reviews of their learning experiences

Challenging but rewarding.

(4/5)
Sohail Najar profile image

Sohail Najar

Singapore

Helpful examples and explanations.

(4/5)
Ali  profile image

Ali

Iran

Appreciated the tips on common pitfalls and debugging.

(4/5)
Curtis Halpin profile image

Curtis Halpin

Santa Cruz, CA

I appreciated how the instructor broke down the core concepts into digestible steps. The examples were practical and mirrored what I encounter in my day-to-day work. In particular, the section on error handling and observability tied everything together. If I had a minor nitpick, it would be that the pacing sped up in the last module, but the accompanying notes and code samples made it easy to revisit and cement the ideas.

(5/5)
Srinivasa Chaitanya Chaganty profile image

Srinivasa Chaitanya Chaganty

Hyderabad,India

The real-world context made the concepts click for me.

(3/5)
Arjunbir Singh profile image

Arjunbir Singh

India

Short but impactful—taught me exactly what I needed.

(3/5)
Josiah Bell profile image

Josiah Bell

Bellevue, NE

Challenging but rewarding.

(4/5)
David Kariuki profile image

David Kariuki

Rwanda

Loved the pacing and depth.

(4/5)
Wellington Anthony Johnson II profile image

Wellington Anthony Johnson II

Atlanta, GA

Loved the pacing and depth.

(4/5)
Ada Moth profile image

Ada Moth

Anywhere I code.

Showing 1-9 of 10

or view more reviews

Mediocrity doesn't cut it anymore

The only way to become a great developer is to write a lot of code

Avoid tutorial hell

by writing a ton of code

Stay motivated with

a game-like curriculum

Build portfolio projects

to prove your skills

Delve deeper

into foundational concepts

Learn flexibly online

without interrupting your life

For 1% the price of college

to minimize your financial risk

Frequently asked Questions

Got questions? We've got answers

Yes! It's free to create an account and start learning. You'll get all the immersive and interactive features for free for a few chapters. After that, if you still haven't paid for a membership, you'll be in read-only (content only) mode.