ECMAScript
概要
ECMAScriptとは、国際的な標準化団体のEcma International(エクマ・インターナショナル)が策定しているJavaScriptの標準規格。ECMA-262として規格書が発行されており、同様のものがISO/IEC 16262やJIS X 3060としても標準化されている。一般にJavaScriptとしてよく知られるスクリプト言語について、基本的な記法や文法、式、宣言、関数、変数、データ型、コンテナ、組み込みオブジェクト、例外処理などの仕様を定めている。近年の拡張ではクラスやモジュール、非同期処理についても盛り込まれている。
環境に左右されない汎用的な言語のコア部分についての規格であるため、WebブラウザにおけるDOM操作や、特定のプロトコルによるネットワーク通信、ローカル環境でのファイル入出力と言った個別具体的な機能のAPIなどは標準化の対象外となっている。
JavaScriptやその派生言語(AltJS)、処理系の多くはECMAScript標準に独自の拡張やAPIを追加した構成となっている。独自仕様を用いずECMAScript仕様のみで記述したプログラム部品などは言語や処理系の種類を超えて横断的に動作する。
EcmaではECMAScriptの拡張仕様を本体とは別に標準化している。これまでに2004年にECMA-357として発行された「E4X」(ECMAScript for XML)、2012年にECMA-402として発行された国際化API(ECMAScript Internationalization API)、2013年にECMA-404として発行された「JSON」(JavaScript Object Notation)がある。
バージョンと表記
初版は1997年に発行された。当時、JavaScriptは多くのWebブラウザが標準で実装しているスクリプト言語として広く普及し、次第にブランザ以外にも利用が広まったが、開発元による仕様の差異が大きかったため、標準化団体による標準規格の策定を求める声が高まっていた。
これまでに何度も改定を重ね、複数の版(Edition:いわゆるバージョン番号に相当)が発行されている。現在では多くのJavaScript処理系や対応製品、JavaScript互換言語が「ECMAScript X準拠」(Xは版数や発行年)と、ECMAScriptへの対応水準を表明している。
2011年の5.1 Editionまでは版数で識別される(ECMAScript 1/2/3/5.0/5.1)が、2015年の6th Editionからは「ECMAScript 2015」(6th)、同2016(7th)、同2017(8th)、同2018(9th)、同2019(10th)、同2020(11th)のように発行年による表記・区別が一般化している。