JavaScript

Join the JavaScript Track
JavaScript is a scripting language, primarily used for creating dynamic websites and programming web servers. It's a very popular language, and supports a variety of programming paradigms.

25 Mentors

Our mentors are friendly, experienced JavaScript developers who will help teach you new techniques and tricks.

12,112 Students

Join thousands of students who have enjoyed learning and improving their skills by taking this track.

94 Exercises

Hundreds of hours have gone into making these exercises fun, useful, and challenging to help you enjoy learning.

About JavaScript

JavaScript is a scripting language used to provide dynamic and interactive content on webpages. Also, server side JS allows the use of the same language on the server and client.

Besides being fast, JavaScript provides benefits like:

  • Reducing server traffic by validating user input in the browser before it is sent to the server.
  • Providing immediate feedback to the site's visitors so that they don't have to reload pages just to get error messages on form validations.
  • Allowing richer user interfaces with content changes on mouse hover, drag and drop gestures, and animations.

Client-side JavaScript is interpreted in the browser without requiring compilation. This allows interactive content to be included in HTML pages which would otherwise be static.

Server-Side JavaScript as run in NodeJS enables back-end access to databases, file systems, and servers. NodeJS is built on Google Chrome's JavaScript V8 Engine. NodeJS uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node can be a great solution for applications requiring I/O bound operations, data streaming etc. More details can be found here.

You should learn JavaScript because:

  • It's easy to learn.
  • It's versatile in the sense that it's multi-paradigm - supporting procedural, event based, object oriented and functional programming.
  • It can be used for the front-end and back-end.
  • It's Open Source.
  • JavaScript programming skills are in high demand.

This track is intended for widely supported JavaScript, for code that could be executed in almost all existing browsers. If you're looking to experiment with newer features of the language, try the ECMAScript track.

Join the JavaScript track
'use strict';

var HelloWorld = function() {};

HelloWorld.prototype.hello = function(name) {
  name = name || 'World';
  return 'Hello, ' + name + '!';
};

module.exports = HelloWorld;

I learned so much by osmosis just from reading.

Exercism has been really wonderful for me. It was the first time that I ever contributed to an open source project (it's a nice feeling knowing that when people use Exercism I may have helped them in some way), how I learned JavaScript, and how I learned about testing and TDD. I learned so much by osmosis just from reading.

Relaxed. Encouraging. Supportive.

Meet the JavaScript Track Mentors

Once you join the JavaScript language track, you will receive support and feedback from our team of mentors. Here are the bios of a few of the mentors of this track.

Frederic Charette https://github.com/fed135

Writing Javascript for Backend applications and open-source development are my passions. I’ve been coding for about 16 years now, and I feel that we’re probably living in one of the best possible times for Javascript software development.

CJ Ting https://github.com/fate-lovely

To be honest, I don't like JS that much, but I've been writting it professionally for a long time. If you use it carefully, it's a wonderful language.

Nick Bell GoFan

I have been developing in JS for 6 years. We use JS heavily at GOFan, and I am excited to be a mentor.

Rahmeen Habib https://github.com/Rahmeen14

I write C++ at the university, have 10 week professional experience with Java in an intern project and am an RGSoC scholar for a JavaScript Project

Aaditya Kulkarni https://github.com/aadityakulkarni

I am a Full stack web developer. I've written code in JavaScript professionally, as well as use it for open source contribution.

Nick Bespaliuk https://github.com/ukolka

I have used JavaScript professionally. Exercism helped me gain new insight so I'm giving back.
Fun. Challenging. Interesting

Community-sourced JavaScript Exercises

These are a few of the 92 exercises on the JavaScript track. You can see all the exercises here.

Etl
medium
easy
control flow loops
integers
maps
transforming
Diffie Hellman
medium
easy
algorithms
arrays
control flow conditionals
control flow loops
exception handling
Roman Numerals
medium
easy
control flow conditionals
control flow loops
mathematics
pattern recognition
transforming
Pangram
medium
easy
algorithms
control flow conditionals
control flow loops
lists
maps
searching
strings
Variable Length Quantity
medium
medium
bitwise operations
transforming
Pythagorean Triplet
medium
medium
algorithms
control flow conditionals
control flow loops
integers
mathematics

Get started with the JavaScript track. As with everything on Exercism, it's 100% free!

Join the JavaScript Track