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

Learn JavaScript

Learn JavaScript by writing real code with functions, objects, arrays, promises, async/await, modules, and the event loop.

What you'll learn in this JavaScript course

Learn modern JavaScript by writing real code in this comprehensive interactive course. You'll solve challenges that build from variables, functions, and objects to promises, async/await, modules, runtimes, and the event loop.

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 51,483 students in the Learn JavaScript course

Read reviews of their learning experiences

Very unusual course that teaches you how to assemble and not how to use assembly. Amazing experience

(5/5)
Ivan Maior profile image

Ivan Maior

United States

the last 3 modules were kinda confusing

(4/5)
Kevin Jurs profile image

Kevin Jurs

Estonia

This course makes learning you get familiar with the JavaScript, I feel it almost guides you too much though. It makes the course easier, but I don't feel like I've retained as much knowledge. The training grounds is definitely a useful tool to ensure you retain the knowledge learned in this course.

(5/5)
Clover  profile image

Clover

United States

Now I have the power of actually understanding the react and next.js frontends i make :')

(5/5)
Keerthana R profile image

Keerthana R

India

very nice introduction!

(5/5)
Mateusz  profile image

Mateusz

Poland

Lovely course! Had an amooozing time with it :D

(5/5)
Jang Hun Oh profile image

Jang Hun Oh

Netherlands

Great course but promises were confusing

(4/5)
Nikolai  profile image

Nikolai

Italy

Very imformative! I hated javascript and now I know why. It's confusing if you don't understand some of the inner workings. Also there's just a bunch of confusing features but still good course!!!

(5/5)
Ben Nicholls profile image

Ben Nicholls

United States

This is one of the best JS courses that I have been able to actualy finish, insted of droping in the mid learning process.

(4/5)
Thenuja  profile image

Thenuja

Galle, Sri Lanka

Showing 1-9 of 284

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, but we assume you're already familiar with programming basics like variables, conditionals, and functions. You don't need any prior JavaScript experience.