Langage créé pour animer les pages web « côté client » (côté navigateur) en réaction aux action de l’utilisateur.
Il est maintenant utilisé presque pour tout faire, par exemple du code côté serveur avec Node.js. Comme c’est un langage qui, selon certains, a beaucoup de défauts (voir par exemple ce tableau d’égalité sur dorey.github.io, il est surtout une cible pour la compilation d’autres langages, comme Clojure et ClojureScript.