JavaScriptをより深く知りたい人のための当連載、前回のイントロダクションに続き、今回が実質的な第一回目です。今回は、本格的にプログラミングテクニックの話に入る前に、JavaScriptの歴史や現状のお話をしてみたいと思います。

昔「何となく」でJavaScriptを書いていたころは、私もJavaScriptについての背景などあまり興味がありませんでした。しかし、当連載で今後扱うようなJavaScriptの高度な機能を知るにつけ「これって他のブラウザでも使えるのか？」などの疑問が生じ始めました。そこで詳しく調べていくと、ECMAScriptという標準規格があったり、ブラウザ以外でも動作する環境があったり、ということを知ったわけです。

JavaScriptはこれからも大きく発展する可能性のある技術です。そうした進化に追随していくためにも、まず現状をしっかり把握してみましょう。

JavaScriptの簡単な歴史

JavaScriptは、1995年にリリースされた、Netscape Navigator 2.0に初めて搭載された言語です。動的なWebページを簡単に作成できることから、非常に人気を博しました。その後Internet Explorerに搭載されるようになると、ブラウザ間でのJavaScriptの互換性が問題となりました。

そこでECMAインターナショナルと言う標準化団体により、JavaScriptの核となる言語仕様が標準化されるにいたりました。それがECMAScriptです。きちんと標準化した仕様が存在するようになったことで、ブラウザ間の互換性もある程度担保されるようになったのです。

ECMAScript自体の仕様は、1999年に標準化されたバージョン3 (ECMA-262)以来ほとんど変わっていません。このように、言語仕様自体が成熟して落ち着いていることも、現在のJavaScriptの隆盛に一役買っているといっていいでしょう。

ECMAScriptとJavaScript

JavaScriptという実装からECMAScriptへの標準化が行われたという経緯がありますので、両者には異なるバージョン番号が振られています。

現在のブラウザの多くが対応しているECMAScriptのバージョンは3で、JavaScript 1.5と呼ばれることも少なくありません。

ECMAScriptは現在バージョン4が仕様策定中で、後方互換性を保ちつつも非常に広範な機能強化が行われる予定です（あまりに強化が多すぎて、ブラウザがきちんと追随するかどうか不安なほどです）。Mozillaは、ECMAScript4に対応したJavaScriptのバージョンを「2.0」とする予定だとしています。

余談ですが、Flash Player上で動作するActionScriptという言語では、ECMAScript 4の仕様をいち早く取り入れて実装しています。クラスや継承、インターフェースなどの機能を試してみたい方は、一度ActionScriptを触ってみるとよいでしょう。

JavaScript (ECMAScript) の実行環境

これについては、JSフレームワーク「jQuery」の作者であるJohn Resigさんが、分かりやすくまとめた画像を公開しています。以下の画像を見てください（画像のライセンスはGPL v2）。

とはいえ、要素が多すぎて一見して全体像をつかむのは難しいですね。以下にポイントを説明しましょう。