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)。

関連

出典