TL;DR
第一級関数を持つ、軽量なインタプリタ型(または JIT コンパイル型)のプログラミング言語である。Web ページのスクリプト言語として最もよく知られている。標準仕様は ECMAScript Language Specification(ECMA-262)である。
なぜ必要か
ブラウザで動くスクリプト言語として、HTML から作られた DOM の木を読み書きし、Web ページに動きを付けられる。ブラウザの外でも、Node.js や Apache CouchDB、Adobe Acrobat などの環境で使われている。
仕組み
MDN によると、JavaScript はプロトタイプベースで、ガベージコレクションを持つ動的な言語である。命令型、関数型、オブジェクト指向など、複数のパラダイムに対応している。
例
TypeScript は JavaScript のスーパーセットなので、すべての JavaScript のプログラムは TypeScript のプログラムでもあるが、逆は成り立たない(Effective TypeScript 第2版 項目1)。他にも CoffeeScript や ClojureScript のように、JavaScript に変換して動かす言語がある。
注意点
this の値は、関数の呼び出し方によって変わる(JavaScript の this)。