JavaScript/ECMAScript史 1995-2026 (差別化: 既存Node.js LTSランタイムと異なり言語仕様進化軸)。Brendan Eich Mocha→LiveScript→JavaScript (Netscape 1995/5/10日10日間で開発)・JScript (Microsoft 1996 IE3独自実装)・ECMAScript ES1 1997/6 (ECMA-262 Edition 1)・ES2 1998+ES3 1999+ES4 (放棄2003 ActionScript 3.0影響)+ES5 2009 (Strict Mode+JSON+Property Descriptors)・ES2015 ES6 (let/const+Arrow Function+Class+Promise+Module+Spread+Generator+Map/Set・Mark Russinovich/Allen Wirfs-Brock)・ES2016+ES2017 async/await+ES2018 Spread/Rest+ES2019 Optional Catch+ES2020 Optional Chaining+Nullish Coalescing+BigInt+ES2021 Logical Assign+ES2022 Top-level await+ES2023 findLast+ES2024 Promise.withResolvers+Array Grouping+ES2025 Iterator Helpers+Promise.try・Node.js 0.x 2009 (Ryan Dahl)+1.x→24 LTS 2024+25 Current 2025・Bun 1.0+Deno 2.0 2024+TypeScript 5.x→6 (2025)・V8+SpiderMonkey+JavaScriptCore+Chakra (廃)・¥0 標準、2026年ES2024+TS 6+Node 24/25+Bun 1.5主流。
JavaScriptは1995年にNetscapeで開発されたスクリプト言語として誕生し、以降ECMAScriptという標準化された仕様に移行してきました。1997年にECMA-262第1版(ES1)が公布され、2009年にES5が登場すると「Strict Mode」やJSON、プロパティディスクリプタなどが正式に採用されました。2015年のES2015(ES6)で大規模な構文拡張が行われ、以降は年単位で小規模な更新が続いています。2024年にES2024がリリースされ、Promise.withResolversやArray.groupingなどが追加されました。2026年にはES2024+TS6+Node24/25+Bun1.5が業界標準となる見込みです。TC39は仕様策定を担う委員会で、提案は「草案」「実装」「承認」の3段階を経て正式化されます。
| 仕様 | 主要追加機能 | 影響 |
|---|---|---|
| ES3 (1999) | 正規表現、JSON | 文字列操作の拡張 |
| ES5 (2009) | Strict Mode、JSON、プロパティディスクリプタ | セキュリティとデバッグの向上 |
| ES6 (2015) | let/const、アロー関数、クラス、Promise、モジュール | モジュール化と非同期処理の統一 |
| ES2017 | async/await | コールバック地獄の解消 |
| ES2018 | スプレッド/レスト | 可読性向上 |
| ES2020 | オプショナルチェイニング、Nullish Coalescing、BigInt | 型安全性と大数処理 |
| ES2021 | 論理代入演算子 | コード量削減 |
| ES2022 | Top‑level await | モジュール内での非同期実行 |
| ES2023 | Array.findLast | 配列検索の多様化 |
| ES2024 | Promise.withResolvers、Array.grouping | Promiseの制御とデータ集約 |
TC39のプロセスは「草案(Draft)」「実装(Candidate)」「承認(Final)」という3段階で進行し、各段階で実装例が提出されます。実装例はブラウザ(V8、SpiderMonkey、JavaScriptCore)やサーバーランタイム(Node.js、Bun、Deno)でテストされ、最終的にECMA-262に組み込まれます。
| 製品名 | バージョン | 発売日 | 対応ES | 主な特徴 | 数値スペック |
|---|---|---|---|---|---|
| Node.js | 0.x | 2009-12-01 | ES5 | 非同期I/Oの実装 | 32bit/64bit対応 |
| Node.js | 24 LTS | 2024-06-15 | ES2024 | 1,000ms以内の起動時間 | 2.0GBヒープ上限 |
| Node.js | 25 | 2025-12-01 | ES2024+TS6 | 1,200ms以内の起動時間 | 2.5GBヒープ上限 |
| Bun | 1.0 | 2024-04-01 | ES2024 |
1995年のMochaから始まり、ECMAScriptが標準化されてからは年単位で機能拡張が進み、2024年にES2024がリリースされました。TC39のプロセスを経てブラウザやランタイムに実装され、Node.js 24/25、Bun 1.5、Deno 2.0といった主要ランタイムが市場をリードしています。2026年にはES2024+TS6+Node24/25+Bun1.5が業界標準となり、JavaScriptはさらに堅牢で高速な言語へと進化を続けるでしょう。
| V8ベースの高速実行 |
| 1,500ms以内の起動時間 |
| Bun | 1.5 | 2025-10-01 | ES2024+TS6 | 1,200ms以内の起動時間 | 2.0GBヒープ上限 |
| Deno | 2.0 | 2024-09-01 | ES2024 | 標準ライブラリ統合 | 2.0GBヒープ上限 |
| V8 | 11.0 | 2025-03-01 | ES2024 | 1.8x高速化 | 1.5GBヒープ上限 |
| SpiderMonkey | 115 | 2025-05-01 | ES2024 | 1.6x高速化 | 1.4GBヒープ上限 |
| JavaScriptCore | 15.0 | 2024-08-01 | ES2024 | 1.7x高速化 | 1.3GBヒープ上限 |
| Chakra | 1.0 | 2023-11-01 | ES2015 | 1.2x高速化 | 1.2GBヒープ上限 |