ECMAScript 2015 is a new version of the standard that defines JavaScript, the language that allows web pages to be dynamic. It executes in modern web browsers, and can also be executed on servers where the NodeJS platform is installed. JavaScript/ECMAScript is an interpreted language, which means that it doesn't need to be compiled.

ECMAScript has grown to be one of the world’s most widely used general purpose programming languages. It is best known as the language embedded in web browsers but has also been widely adopted for server and embedded applications.

-- ECMA International Language Specification

The current revision of ECMAScript is ECMAScript 2015, previously known as ES6 or Harmony. This version brings many enhancements over ES5, including notably template strings, expressive arrow function syntax, and cleaner syntax for defining classes. Support in current browsers is incomplete, and often requires transpilation with a tool like Babel.

This track is intended for experimenting with the newest features of the JavaScript language and the ECMAScript standard. Here, you will find code that not all browsers are able to run. For widely supported JavaScript, you may be interested in the JavaScript track.

Help us explain this better! File a GitHub issue at if you have suggestions, or submit a patch with improvements to the file.

Try It!

If you've downloaded the command-line client and have ECMAScript installed on your machine, then go ahead and fetch the first problem.

exercism fetch ecmascript

In order to be able to submit your solution, you'll need to configure the client with your Exercism API key.

exercism configure --key=YOUR_EXERCISM_KEY

When you've written a solution, submit it to the site. You'll have to configure the command-line client with your exercism API key before you can submit.

exercism submit PATH_TO_FILE