ECMAScript

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

テンプレート:Infobox プログラミング言語 テンプレート:Infobox file format

テンプレート:プログラミング言語

ECMAScript(エクマスクリプト)は、Ecma Internationalによって標準化されたスクリプト言語である。実装ごとの互換性が低い JavaScript 類(特に JScript)の標準を定めたものである。現在の最新バージョンは5 (5th edition)。最初のバージョンのリリースは2009年12月である。関連規格の一つである ECMAScript for XML (E4X) では、ネイティブで XML がサポートされている。

Ecma Internationalのほか、ISO/IEC JTC 1からもISO/IEC 16262として標準化されている。日本もJIS X 3060としてJIS規格化している。


バージョン

Edition 公開日 以前のバージョンとの違い 策定者
1 1997年6月 First edition Guy L. Steele, Jr.
2 1998年6月 Editionとしての仕様はそのままであり、ISO/IEC 16262 international standardに完全な対応をした Mike Cowlishaw
3 1999年12月 正規表現、よりよい文字列の取り扱い、新しいコントロール構文、try/catch例外処理、より厳格なエラー処理、数字のその他の書式化フォーマット Mike Cowlishaw
4 放棄 4th Editionは放棄された。言語の複雑化に関する政治的な差異による。いくつかの成果は5thの基礎として採用され、いくらかはECMAScript Harmonyの基礎となっている。
5 2009年12月 "strictモード"、初期化時に発生しがちなエラーを回避するための追加仕様の追加。多くの曖昧な部分、および仕様に準拠しつつも現実世界の実装の融通の利く振る舞いを明確にした。いくらかの新機能、getterやsetter、JSONライブラリのサポート、より完全なオブジェクト属性リフレクション[1] Pratap Lakshman, Allen Wirfs-Brock
5.1 2011年6月
Harmony (6) 策定中 複数の新たな概念および言語機能 - Future development (英文)を参照

2004年6月に、Ecma InternationalはECMA-357 standardを公開した。ECMAScriptの拡張であり、 E4Xとして知られるものである (ECMAScript for XML).

EcmaはECMAScriptのための"Compact Profile"も定義した — ES-CP、あるいはECMA 327として知られる — リソースの厳しいデバイス用にデザインされている。ECMAScript のいくつかの動的な機能(『eval』関数など)はオプションにされている。これにより、処理系はプログラムの振る舞いに対してより多くの仮定ができるようになり、その結果、より良いパフォーマンス・トレードオフを実行時に得ることができるようになる。 HD DVD standardはECMAScript Compact Profileに準拠し、完全なECMAScriptの支援をより少ないメモリのデバイスで実行できるよう採用している。

ECMAScriptの方言およびその呼称

ECMAScript は、ウェブブラウザをはじめとする多くのアプリケーションでサポートされている。DOM との連携はドキュメントの操作を可能にする。

アプリケーション 呼称 最新バージョン 対応するECMAScriptリビジョン
Mozilla およびその派生品 JavaScript 1.8 ECMA-262 3rd edition
ECMA-357[呼称 1]</sup>
Internet Explorer JScript 5.8 ECMA-262 3rd edition
JScript (Chakra) 9.0 ECMA-262 5th edition
Opera ECMAScript, with extensions to both JavaScript and JScript ECMA-262 3rd edition
Konqueror(KJS) JavaScript ECMA-262 3rd edition
Safari(JSCore) JavaScript ECMA-262 3rd edition
iCab InScript ECMA-262 3rd edition
Microsoft .NET JScript .NET 8.0 ECMA-262 4th草案 [呼称 2]
Adobe Flash ActionScript 3 ECMA-262 4th草案 [呼称 3]
ECMA-357
Adobe Acrobat JavaScript 1.5 ECMA-262 3rd edition
Adobe Creative Suite ExtendScript ECMA-262 3rd edition
DMDScript DMDScript ECMA-262 3rd edition
Qt QtScript ECMA-262 3rd edition
Max/MSP JavaScript 1.5 ECMA-262 3rd edition
Google Chrome JavaScript ECMA-262 3rd edition
  1. Mozillaは1.8 Beta 1以降でE4X をサポートしている。
  2. 2001年頃のMicrosoftの草案であり、独自に開発を進めたもので、現在のECMAScript 4草案とは大きく異なる。
  3. 2001年頃のNetscapeの草案に近く、現在のECMAScript 4草案のサブセットに近い。

ECMAScript 4

テンプレート:See also ECMAScript 4 は過去2回仕様作成が挑戦されたが、仕様がまとまらず、失敗に終わっている。

1回目

2000年~2003年ごろ行われた。主に、旧Netscape社とMicrosoft社によって行われたが、意見がまとまらずに、打ち切りとなった。この時の案は ActionScript へと引き継がれた。

2回目

2007年~2008年ごろ、2回目の仕様作成が行われた。大きく機能を追加される予定であったが、意見がまとまらず、2008年8月13日に、小規模の改善にとどまる、ECMAScript 3.1 を進めることとなった[2]。仕様は、http://www.ecmascript.org/docs.php にて公開されている。

以下のような予定があった。

脚注

テンプレート:Reflist

外部リンク

テンプレート:ECMAScript
  1. JavaScriptの変更, Part 1: EcmaScript 5
  2. https://mail.mozilla.org/pipermail/es-discuss/2008-August/003400.html