1995 年に JavaScript が誕生してから 16 年が経過しました。現在、世界中の無数の Web ページがさまざまな重要なタスクを実行するために JavaScript を利用しています。かつては、Tiobe が発表したプログラミング言語ランキングで、C# と JavaScript に次いで 8 位にランクされていました。かつてのスクリプト言語が主流のプログラミング言語に変わった後、より大規模で複雑なプログラムを開発するためにそれが使用されるため、Web 開発者は JavaScript とその過去、現在、未来についてより深く理解する必要があります。
JavaScript の簡単な歴史
1992 年頃、Nombas という会社が C-minus-minus (略して Cmm) ) 埋め込みスクリプト言語と呼ばれるツールの開発を開始しました。 。このスクリプト言語は CEnvi と呼ばれるシェアウェア製品にバンドルされていました。Netscape Navigator が有名になったとき、Nombas は Web ページに埋め込めるバージョンの CEnvi を開発しました。これらの初期の実験は Espresso Pages と呼ばれ、World Wide Web で使用される最初のクライアント側スクリプト言語を表していました。 Nombas は、そのコンセプトがインターネットの重要な基礎となるとは想像もしていませんでした。
インターネット サーフィンの人気が高まるにつれて、クライアント側のスクリプトを開発する必要性も徐々に増加しています。当時 Netscape で働いていた Brendan Aich は、1995 年にリリースされる予定だった Netscape Navigator 2.0 用に LiveScript と呼ばれるスクリプト言語の開発を開始しました。当時の目的は、ブラウザとサーバー側の両方でそれを使用することでした。 。 Netscape は Sun と協力して、LiveScript の実装をタイムリーに完了しました。 Netscape Navigator 2.0 が正式にリリースされる直前に、Netscape はインターネットの流行語である Java を活用するためにその名前を JavaScript に変更しました。 Netspace の賭けは最終的には成功し、それ以来 JavaScript はインターネットに不可欠なコンポーネントになりました。
ECMAScript Standard
JavaScript 1.0 が非常に成功したため、Netscape は Netscape Navigator 3.0 でバージョン 1.1 をリリースしました。当時、Microsoft はブラウザへの参入を決定し、JScript と呼ばれる JavaScript のクローンを備えた IE 3.0 をリリースしました (Netscape との潜在的なライセンス紛争を避けるためにこの名前が付けられました)。 Microsoft が Web ブラウザの分野に参入したことで悪名は高まりましたが、JavaScript 言語の開発においても重要なステップとなりました。
Microsoft の参入後、Netscape Navigator 3.0 の JavaScript、IE の JScript、CEnvi の ScriptEase という 3 つの異なる JavaScript バージョンが同時に存在しました。 C や他のプログラミング言語とは異なり、JavaScript にはその構文や機能を統一するための標準が存在せず、これら 3 つの異なるバージョンがこの問題を浮き彫りにしています。業界の懸念が高まる中、この言語の標準化が不可欠であることは明らかです。 1997 年、JavaScript 1.1 は欧州コンピュータ製造者協会 (ECMA) に草案として提出され、Netscape、Sun、Microsoft、Borland、およびスクリプトに関心のあるその他の企業のプログラマで構成される TC39 が、この標準である ECMA-262 を策定しました。 ECMAScript と呼ばれる新しいスクリプト言語を定義します。それ以来、Web ブラウザーは、JavaScript 実装の基礎として ECMAScript を使用するために (成功と失敗の程度はさまざまですが) 懸命に取り組んできました。
ECMAScript は重要な標準ですが、これが JavaScript の唯一の部分ではなく、もちろん標準化されている唯一の部分でもありません。実際、完全な JavaScript 実装は、次の 3 つの異なる部分で構成されています
• コア (ECMAScript) - JavaScript ECMAScript のコアは、言語の構文と基本オブジェクトを記述します
• ドキュメント オブジェクト モデル (DOM) —— DOM は Web コンテンツを処理するためのメソッドとインターフェイスを記述します
•ブラウザ オブジェクト モデル (BOM)—BOM はブラウザと対話するためのメソッドとインターフェイスを記述します
JavaScript のバージョン履歴
歴史的な理由とテクノロジーの継続的な発展により、JavaScript には多くのバージョンがあり、さまざまなブラウザーの実装も異なります。著者は、さまざまな側面に基づいて、JavaScript のさまざまなバージョンと対応するブラウザーを整理しました。情報の実装、これがこの記事の主な目的でもあります。皆さんから意見を提供して一緒に改善してください。
版本 | 发布日期 | 基于 | Netscape Navigator | Mozilla Firefox | Internet Explorer | Opera | Safari | Chrome |
1.0 | 1996年3月 | 2.0 | 3.0 (JScript 1.0)(1996年8月) | |||||
1.1 | 1996年8月 | 3.0 | 3.0 (JScript 2.0)(1997年1月) |
|||||
1.2 | 1997年6月 | 4.0-4.05 | ||||||
1.3 | 1998年10月 | ECMA-262 第一版 (1997年6月发布)/ ECMA-262 第二版 (1998年6月发布) | 4.06-4.7x | 4.0 (JScript 3.0)(1997年10月) | ||||
1.4 | Netscape Server Only |
JScript 4.0 (Visual Studio 6, no IE release) 5.0 (JScript 5.0)(1999年3月) |
||||||
1.5 | 2000年11月 | ECMA-262 第三版 (1999年12月发布) | 6.0 | 1.0 |
5.5 (JScript 5.5)(2000年7月) 6 (JScript 5.6)(2001年10月) 7 (JScript 5.7)(2006年10月) 8 (JScript 5.8)(2009年3月) |
|||
1.6 | 2005年11月 | 1.5 + Array extras + Array and String generics + E4X | 1.5 | 3.0, 3.1 | ||||
1.7 | 2006年10月 | 1.6 + Pythonic generators + Iterators + let | 2.0 | 3.2, 4.0 | 1.0 | |||
1.8 | 2008年6月 | 1.7 + Generator expressions + Expression closures | 3.0 | |||||
1.8.1 | 2009年6月 |
1.8 + Native JSON support + Minor Updates | 3.5 | |||||
1.8.5 | 2010年7月 |
1.8.1 + ECMAScript 5 Compliance | 4 | 9 |
||||
2.0 | 制定中 |
ECMAScript Harmony |
[Ctrl A すべて選択 注: