JavaScriptが登場した後、マイクロソフトはInternet Explorer 3.0(1996年8月)で、異なる名前のJScriptとして同じ言語を実装しました。マイクロソフトを牽制する意味もあり、ネットスケープはJavaScriptを標準化することを決定し、標準化団体であるEcma Internationalに標準を主催するように依頼しました。ECMA-262と呼ばれる仕様の作業は1996年11月に開始されました。Sun(現在はOracle)がJavaScriptという用語の商標を持っていたため、標準化される言語の正式名称にすることはできませんでした。そこで、ECMAScriptが、JavaScriptとEcmaから派生して選ばれました。ただし、その名前は言語のバージョン(仕様を参照する場合)を参照するためにのみ使用されます。誰もが今でもその言語をJavaScriptと呼んでいます。
ECMA-262は、EcmaのTechnical Committee 39(TC39)によって管理および進化しています。そのメンバーは、マイクロソフト、Mozilla、Googleなどの企業であり、従業員を委員会活動に参加させています。例としては、Brendan Eich、Allen Wirfs-Brock(ECMA-262の編集者)、David Hermanなどがいます。ECMAScriptの設計を進めるために、TC39はオープンチャネル(メーリングリストes-discussなど)で議論を行い、定期的な会議を開催しています。会議にはTC39のメンバーと招待された専門家が出席します。2013年初頭には、出席者数は15人から25人でした。
以下は、ECMAScriptのバージョン(またはECMA-262のエディション)とその主な機能のリストです。
do-while
、正規表現、新しい文字列メソッド(concat
、match
、replace
、slice
、正規表現を使用したsplit
など)、例外処理などECMAScript 4は、MLで記述されたプロトタイプを伴い、JavaScriptの次のバージョンとして開発されました。ただし、TC39はその機能セットに合意できませんでした。行き詰まりを防ぐため、委員会は2008年7月末に会合し、4つのポイントに要約された合意に達しました。
このように、ECMAScript 4の開発者は、HarmonyをECMAScript 4よりも過激でないものにすることに同意し、残りのTC39は物事を前進させ続けることに同意しました。
合意に達し、標準を作成することは必ずしも容易ではありませんが、前述の当事者の協力的な努力のおかげで、JavaScriptは複数のベンダーによる実装が著しく互換性のある、真にオープンな言語です。その互換性は、非常に詳細でありながら具体的な仕様によって実現されています。たとえば、仕様では擬似コードがよく使用され、ECMAScript実装の準拠をチェックするテストスイートtest262によって補完されています。ECMAScriptがWorld Wide Web Consortium(W3C)によって管理されていないことは注目に値します。TC39とW3Cは、JavaScriptとHTML5の重複がある場合は常に協力しています。