javascriptの歴史
https://ja.wikipedia.org/wiki/ECMAScript#バージョン
Deno Fest#653309b5518c2500008587a6も混ぜる
混ぜたものには**をつける
1995年 JavaScript誕生
1996年 Netscape Livewire**
1997年6月 ES1
1998年6月 ES2
特に変更はない
1999年12月 ES3
正規表現、よりよい文字列の取り扱い、新しいコントロール構文、try/catch例外処理、より厳格なエラー処理、数字のその他の書式化フォーマットhttps://ja.wikipedia.org/wiki/ECMAScript#バージョン
当時はブラクラとポップアップ広告としての利用が主だった
ES4は消えた
2006年1月 jQuery誕生
2008年8月 ES3.1
ECMAScript 3.1 - kawaguti’s diary
2009年秋(詳細不明) Node.js誕生**
2009年12月 ES5
"strictモード"、初期化時に発生しがちなエラーを回避するための追加仕様の追加。多くの曖昧な部分、および仕様に準拠しつつも現実世界の実装の融通の利く振る舞いを明確にした。いくらかの新機能、getterやsetter、JSONライブラリのサポート、より完全なオブジェクトの属性のリフレクション[7] https://ja.wikipedia.org/wiki/ECMAScript#バージョン
2010年 npm誕生**
2015年 io.jsがNode.jsをフォークしてリリース**
2015年6月 ES6
ES2015に解説がある
クラス、モジュール、イテレータ、for/ofループ、Pythonスタイルのジェネレータ、アロー関数、2進数および8進数の整数リテラル、Map、Set、WeakMap、WeakSet、プロキシ、テンプレート文字列、let、const、型付き配列、デフォルト引数、Symbol、Promise、分割代入、可変長引数 https://ja.wikipedia.org/wiki/ECMAScript#バージョン
Modern JavaScriptの始まり
2016-2018年 CommonJS / ESM**
2016年6月 ES2016(ES7)
冪乗演算子、Array.prototype.includes https://ja.wikipedia.org/wiki/ECMAScript#バージョン
2017年6月 ES2017(ES8)
非同期関数 (async/await)、SharedArrayBufferとAtomics、String.padStart/padEnd、Object.values/entries、Object.getOwnPropertyDescriptors、関数の引数における末尾のカンマ許容 https://ja.wikipedia.org/wiki/ECMAScript#バージョン
String.prototype.padStart()
2018年6月 ES2018(ES9)
オブジェクトに対するスプレッド構文、非同期イテレーション、Promise.prototype.finally、正規表現への機能追加 https://ja.wikipedia.org/wiki/ECMAScript#バージョン
非同期イテレーション
2018年 Denoがjsconf.euで発表**
2019年6月 ES2019(ES10)
Array.prototype.flat、Array.prototype.flatMap、Object.fromEntriesの追加、他 https://ja.wikipedia.org/wiki/ECMAScript#バージョン
2020年6月 ES2020(ES11)
オプショナルチェイニング演算子?.、Null合体演算子??、BigIntの追加、他 https://ja.wikipedia.org/wiki/ECMAScript#バージョン
Null 合体演算子
2021年6月 ES2021(ES12)
2022年6月 ES2022(ES13)
2022年 WINTER CG発足**
2023年6月 ES2023(ES14)
配列操作メソッドの追加、#!(シバン (Unix))のサポート、WeakMapのキーにおけるSymbolの利用。 https://ja.wikipedia.org/wiki/ECMAScript#バージョン
hashbang for JS
2024年:ES2024(ES15)
2025年1月に公開されるであろうバージョン ES2025(ES16)