Want to learn and master JavaScript?

Join Exercism’s JavaScript Track for access to 147 exercises grouped into 33 JavaScript Concepts, with automatic analysis of your code and personal mentoring, all 100% free.

Explore concepts

About JavaScript

export function hello() {
  return 'Hello, World!';

Key Features of JavaScript


Runs almost everywhere

Build web-pages, write backend, create database scripts, make mobile apps, design CLI-s, and more.

Use any programming style

Use prototype-based, object-oriented, functional, or declarative programming styles, and more.

No types required

Dynamically and weakly typed by default, gain typed confidence using Flow, JSDoc, or TypeScript.

Concurrency is safe

Async/await, dedicated workers, or state sync in shared workers. No deadlocks or race conditions.

Largest package registry

No need to reinvent the wheel. Build on top of > 1.3 million packages (April, 2020).

Designed by a committee

Frequent updates, following ECMAScript, a general purpose, cross platform, vendor-neutral standard.

A taste of the concepts you'll cover

See all the concepts for JavaScript

Get mentored the JavaScript way

Every language has its own way of doing things. JavaScript is no different. Our mentors will help you learn to think like a JavaScript developer and how to write idiomatic code in JavaScript. Once you've solved an exercise, submit it to our volunteer team, and they'll give you hints, ideas, and feedback on how to make it feel more like what you'd normally see in JavaScript - they'll help you discover the things you don't know that you don't know.

Learn more about mentoring

Community-sourced JavaScript exercises

The JavaScript track on Exercism has 33 concepts and 147 exercises to help you write better code. Discover new exercises as you progress and get engrossed in learning new concepts and improving the way you currently write.

See all JavaScript exercises

Get started with the JavaScript track

The best part, it’s 100% free for everyone.