🎉 Exercism Research is now launched. Help Exercism, help science and have some fun at research.exercism.io 🎉

JavaScript (Legacy)

Join the JavaScript (Legacy) 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.
Join the JavaScript (Legacy) Track
Track mentors

0 Mentors

Our mentors are friendly, experienced JavaScript (Legacy) developers who will help teach you new techniques and tricks.
Track students

1,069 Students

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

191 Exercises

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

About JavaScript (Legacy)

'use strict';

var HelloWorld = function() {};

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

module.exports = HelloWorld;

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 (Legacy) track

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.

Fun. Challenging. Interesting

Community-sourced JavaScript (Legacy) exercises

These are a few of the 191 exercises on the JavaScript (Legacy) track. You can see all the exercises here.

Food Chain
text formatting
Twelve Days
control flow conditionals
control flow loops
pattern recognition
regular expressions
Collatz Conjecture
control flow conditionals
control flow loops
exception handling
Phone Number
Scrabble Score
control flow conditionals
control flow loops
Perfect Numbers
control flow conditionals
control flow loops

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

Join the JavaScript (Legacy) Track