ECMAScript

出典: Wikipedio


Template:Infobox プログラミング言語 Template:Infobox file format

Template:プログラミング言語

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規格化している。

目次

バージョン

ECMA-262には3つのエディションが公開されている。 3rd Editionは条件付きで『ECMAScript』として知られている。『5th Edition』およびその将来型は『Harmony』というコードネームが付けられ、現在策定中である。

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ライブラリのサポート、より完全なオブジェクト属性リフレクション<ref>JavaScriptの変更, Part 1: EcmaScript 5</ref> Pratap Lakshman, Allen Wirfs-Brock
Harmony 策定中 複数の新たな概念および言語機能 - 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<ref>Mozillaは1.8 Beta 1以降でE4X をサポートしている。</ref></sup>
Internet Explorer JScript 5.8 ECMA-262 3rd 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草案 <ref>2001年頃のMicrosoftの草案であり、独自に開発を進めたもので、現在のECMAScript 4草案とは大きく異なる。</ref>
Adobe Flash ActionScript 3 ECMA-262 4th草案 <ref>2001年頃のNetscapeの草案に近く、現在のECMAScript 4草案のサブセットに近い。</ref>
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

<references/>

ECMAScript 4

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

1回目

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

2回目

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

以下の機能追加を予定していた。

  • 型に関する機能が増え、大規模・大人数開発のための機能が増えている。
  • 単純なプログラムから、より巨大で信頼性の高い大規模プログラムへの「進化的プログラミング」のための機能を提供する。
  • ECMAScript 3 とは、少々下位互換性がない。ActionScript 3 のおおかた上位互換であるが、これも一部互換性がない。

脚注

Template:Reflist

外部リンク

da:ECMAScript en:ECMAScript es:ECMAScript et:ECMAScript fr:ECMAScript hu:ECMAScript ko:ECMA스크립트 nl:ECMAScript no:ECMAScript pl:ECMAScript pt:ECMAScript ru:ECMAScript sv:Ecmascript th:ECMAScript uk:ECMAScript zh:ECMAScript

個人用ツール