ECMAScript

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
ECMAScript
パラダイム マルチパラダイムプログラミング言語プロトタイプベース, 関数型言語, 命令型プログラミング, スクリプト言語
登場時期 1997
開発者 Ecma International, ブレンダン・アイク
最新リリース ECMA-262 5.1th Edition (ECMAScript 5.1)
型付け ダック・タイピング、弱い動的型付け
方言 JavaScript, ActionScript, JScript, QtScript, DMDScript, InScript
影響を受けた言語 Self, HyperTalk, AWK, C, Perl, Python, Java
テンプレートを表示
ECMAScript
Crystal source.png
拡張子 .es
MIME Type application/ecmascript[1]
開発者 Sun Microsystems,
Ecma International
初版 1997/6
最新版 Edition 5.1 / 2011/6
種別 スクリプト言語
派生元 JavaScript
公式サイト ECMA-262, ECMA-290,
ECMA-327, ECMA-357
テンプレートを表示

ECMAScript(エクマスクリプト)は、Ecma International によって策定されたスクリプト言語である。互換性の低い JavaScriptJScript を標準化すべく、両方の言語に共通する部分を取り入れて作られた。現在の最新バージョンは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ライブラリのサポート、より完全なオブジェクト属性リフレクション[2] 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]
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 [編集]

ECMAScript 4 は過去2回仕様作成が挑戦されたが、仕様がまとまらず、失敗に終わっている。

1回目 [編集]

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

2回目 [編集]

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

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

脚注 [編集]

外部リンク [編集]