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 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 frontend and backend.
  • 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 for experimenting with newer features of the language try the ECMAScript track.


Help us explain this better! File a GitHub issue at https://github.com/exercism/javascript/issues if you have suggestions, or submit a patch with improvements to the https://github.com/exercism/javascript/blob/master/docs/ABOUT.md file.

Try It!

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

1
exercism fetch javascript

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

1
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.

1
exercism submit PATH_TO_FILE