JavaScriptの起源と歴史を振り返ります！

## はじめに

JavaScriptはWeb開発に欠かせないプログラミング言語です。
今まであまり気にしていなかったですが、その起源・歴史について最近キャッチアップする機会があったので、時系列で振り返ります。

## 目次

1. [JavaScriptの誕生](#javascriptの誕生)
2. [ECMAScriptの標準化](#ecmascriptの標準化)
3. [AjaxとJavaScriptの発展](#ajaxとjavascriptの発展)
4. [ES5とNode.jsの登場](#es5とnodejsの登場)
5. [ES6とその後の進化](#es6とその後の進化)
6. [現在と未来](#現在と未来)
7. [MDN Web Docs誕生の経緯](#mdn-web-docs誕生の経緯)
8. [参考文献🌟](#参考文献)

## JavaScriptの誕生

JavaScriptは1995年にNetscape社の`Brendan Eich（ブレンダン・アイク）`によって10日間で開発されました。
当初の名前は「Mocha」でしたが、「LiveScript」を経て、最終的に「JavaScript」と命名されました。

この言語はNetscape Navigator 2.0に搭載され、動的なWebページの実現を可能にしました。

## ECMAScriptの標準化

1997年、JavaScriptの仕様を統一するために`ECMAScript（ES）`が誕生しました。ECMA-262として標準化され、最初のバージョンである`ECMAScript 1（ES1）`が公開されました。

その後、1999年にリリースされた`ECMAScript 3（ES3）`で、現在のJavaScriptの基盤となる仕様が確立されました。このバージョンでは、正規表現や例外処理（try-catch）が追加されました。

## AjaxとJavaScriptの発展

2005年、GoogleがGmailやGoogle Mapsに`Ajax（非同期通信）`を導入したことで、JavaScriptの需要が急増しました。これにより、Webページが動的かつインタラクティブになり、ユーザー体験が大幅に向上しました。

## ES5とNode.jsの登場

2009年にリリースされた`ECMAScript 5（ES5）`では、JSONの対応、厳格モード（strict mode）、配列メソッド（forEach, map, filter）などが追加されました。

また、同年にはNode.jsが登場し、JavaScriptがサーバーサイドでも利用されるようになりました。これにより、JavaScriptの用途が大きく拡大しました。

## ES6とその後の進化

2015年にリリースされた`ECMAScript 6（ES6/ES2015）`では、以下のような大きな改善が行われました。

* let / const（新しい変数宣言）

* アロー関数（=>）

* クラス構文（class）

* Promise（非同期処理）

* モジュール（import/export）

その後、毎年新しいバージョンがリリースされるようになり、JavaScriptは急速に進化を続けています。

主なバージョンアップの内容

* ES7（2016年）: Array.prototype.includes() 追加

* ES8（2017年）: async/await 導入

* ES9（2018年）: Promise.prototype.finally() 追加

* ES10（2019年）: Object.fromEntries() 追加

* ES11（2020年）: オプショナルチェーン (?.) 追加

* ES12（2021年）: replaceAll() メソッド追加

* ES13（2022年）: Array.prototype.at() 追加

* ES14（2023年）: Array.prototype.toSorted() などが追加

## 現在と未来

JavaScriptはWeb開発の標準技術として定着しており、以下のような分野で活用されています。

* フロントエンド: React, Vue, Angular

* バックエンド: Node.js, Deno

* モバイルアプリ: React Native

## MDN Web Docs誕生の経緯
JavaScriptに限らずWebに関する用語や言語文法等を調べる時、ネット検索やAIに聞いたりすると思いますが、体系的にまとまっていてとても分かりやすい公式ドキュメントが存在します。

それが、<b>MDN Web Docs（Mozilla Developer Network）</b>です。

MDN Web Docs は、Web技術（HTML、CSS、JavaScript など）に関する信頼性の高いドキュメントを提供するためのプラットフォームとして誕生しました。

せっかくJavaScriptについてふかぼったので、ついでにMDNの歴史についても以下で軽くご紹介しておきます。

---
* 2005年 - Mozilla Developer Center（MDC）の設立
Mozilla Foundationが、Web開発者向けの情報を集約するために`Mozilla Developer Center（MDC）`を立ち上げる。
元々はNetscape DevEdge（Netscapeの開発者向けドキュメント）を引き継ぐ形で開始。
目的は、Mozilla製品（Firefoxなど）とWeb標準技術のドキュメントを提供すること。
<br>

* 2010年 - MDN（Mozilla Developer Network）に改名
Mozilla Developer Center（MDC）が`Mozilla Developer Network（MDN）`にリブランドされる。
Mozilla製品だけでなく、Web技術全般（HTML5、CSS3、JavaScriptなど）の情報を提供する方向に拡張。
オープンな貢献型プラットフォームとして、開発者コミュニティの参加を促進。
<br>

* 2017年 - MDN Web Docsとして再ブランド化
MozillaはMDNを「MDN Web Docs」と改名し、よりWeb標準技術に特化した開発者向けリソースへと発展。
Google、Microsoft、Samsung、W3Cなどが協力し、MDNのコンテンツをWeb開発者のための共通リソースとして強化。
<br>

* 現在（2024年〜）
MDN Web Docsは、Web開発者にとって最も信頼できるリファレンスの一つとなっている。
主要なWebブラウザベンダー（Mozilla、Google、Microsoft、Appleなど）が協力し、最新のWeb技術情報を更新・提供。
インタラクティブな学習コンテンツ（MDN Learning Area）やWeb APIの詳細なドキュメントが充実。
---

ちなみに MDN Web Docsは、現在Mozillaを中心に、複数の企業やコミュニティが協力して運営しています。
MDN Web Docsは、Web開発者のための無料でオープンなナレッジベースとして、現在も日々更新され続けています！

## 参考文献🌟
* [ECMA-262](https://ecma-international.org/publications-and-standards/standards/ecma-262/)
* [ECMA-262(ECMA Script) Docsリポジトリ](https://github.com/tc39/ecma262)
* [MDN Web Docs](https://developer.mozilla.org/ja/docs/Web/JavaScript)

今後も進化を続けるJavaScriptに注目しましょう！