ソフトウェア
上級

JavaScript史 ES1/ES6/ES2024/TC39 1995-2026(ジャバスクリプト史)

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主流。

0 回閲覧
0 いいね
2026/4/30 更新
関連タグ
Brendan Eich 1995 10日
ES6 ES2015 Class Module
async/await ES2017
Optional Chaining ES2020
ES2024 Iterator Helpers

概要

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、モジュールモジュール化と非同期処理の統一
ES2017async/awaitコールバック地獄の解消
ES2018スプレッド/レスト可読性向上
ES2020オプショナルチェイニング、Nullish Coalescing、BigInt型安全性と大数処理
ES2021論理代入演算子コード量削減
ES2022Top‑level awaitモジュール内での非同期実行
ES2023Array.findLast配列検索の多様化
ES2024Promise.withResolvers、Array.groupingPromiseの制御とデータ集約

TC39のプロセスは「草案(Draft)」「実装(Candidate)」「承認(Final)」という3段階で進行し、各段階で実装例が提出されます。実装例はブラウザ(V8、SpiderMonkey、JavaScriptCore)やサーバーランタイム(Node.js、Bun、Deno)でテストされ、最終的にECMA-262に組み込まれます。

具体例・対応製品 (テーブル必須)

製品名バージョン発売日対応ES主な特徴数値スペック
Node.js0.x2009-12-01ES5非同期I/Oの実装32bit/64bit対応
Node.js24 LTS2024-06-15ES20241,000ms以内の起動時間2.0GBヒープ上限
Node.js252025-12-01ES2024+TS61,200ms以内の起動時間2.5GBヒープ上限
Bun1.02024-04-01ES2024V8ベースの高速実行1,500ms以内の起動時間
Bun1.52025-10-01ES2024+TS61,200ms以内の起動時間2.0GBヒープ上限
Deno2.02024-09-01ES2024標準ライブラリ統合2.0GBヒープ上限
V811.02025-03-01ES20241.8x高速化1.5GBヒープ上限
SpiderMonkey1152025-05-01ES20241.6x高速化1.4GBヒープ上限
JavaScriptCore15.02024-08-01ES20241.7x高速化1.3GBヒープ上限
Chakra1.02023-11-01ES20151.2x高速化1.2GBヒープ上限

選び方・注意点

  • 開発規模:小規模プロジェクトならBun 1.0で十分。大規模なエンタープライズアプリはNode.js 25やDeno 2.0を選択し、安定したLTSを活用する。
  • パフォーマンス要件:起動時間が重要ならBun 1.5、Deno 2.0が有利。CPU集約型処理はV8 11.0が最適。
  • 型安全性:TypeScript 6がES2024+TS6と統合されているため、型安全を重視する場合はNode.js 25またはBun 1.5を推奨。
  • ブラウザ互換性:最新ブラウザはES2024を完全サポート。古いブラウザを対象とする場合はBabelやPolyfillを併用。
  • メモリ制限:Node.js 24/25は2.0〜2.5GBヒープ上限。大規模データ処理ではメモリ管理に注意。

関連用語との違い

  • ECMAScript vs JavaScript:ECMAScriptは仕様、JavaScriptは実装。ECMAScript 2024は仕様で、V8 11.0は実装。
  • ES6 vs ES2015:同義語。ES6は業界で使われる略称。
  • Node.js vs Bun vs Deno:Node.jsは従来のV8ベース、BunはV8+Bunビルドツール、DenoはRustベースでセキュリティに重点。
  • TS6 vs TS5:TS6はES2024+TS6の統合を前提に設計。TS5はES2020までを対象。

よくある質問 (FAQ)

  1. ES2024で追加されたPromise.withResolversは何のために使うのか?
    Promise.withResolversはPromiseの制御を外部から行うためのAPIで、非同期処理をより直感的に書けるようにする。
  2. Node.js 24とNode.js 25の違いは何?
    主要な違いはTS6の統合と起動時間の改善。Node.js 25は1,200ms以内の起動時間を実現。
  3. Bun 1.5はNode.jsより速いのはなぜ?
    BunはV8をベースに、ビルドツールとパッケージマネージャを統合し、ネイティブコードの最適化を行っている。

まとめ

1995年のMochaから始まり、ECMAScriptが標準化されてからは年単位で機能拡張が進み、2024年にES2024がリリースされました。TC39のプロセスを経てブラウザやランタイムに実装され、Node.js 24/25、Bun 1.5、Deno 2.0といった主要ランタイムが市場をリードしています。2026年にはES2024+TS6+Node24/25+Bun1.5が業界標準となり、JavaScriptはさらに堅牢で高速な言語へと進化を続けるでしょう。

この記事について
カテゴリーソフトウェア
難易度上級
作成日2026/4/30