ECMAScript

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索
ECMAScript
パラダイム マルチパラダイムプログラミング言語プロトタイプベース関数型言語命令型プログラミング
登場時期 1997
開発者 Ecmaインターナショナルブレンダン・アイク
最新リリース ECMA-262 6th Edition (ECMAScript 2015)
型付け ダック・タイピング、弱い動的型付け
方言 JavaScriptActionScriptJScriptQtScriptDMDScriptInScript
影響を受けた言語 SchemeSelfHyperTalkAWKCPerlPythonJava
ECMAScript
Crystal source.png
拡張子 .es
MIME Type application/ecmascript[1]
開発者 サン・マイクロシステムズ
Ecmaインターナショナル
初版 1997年6月(19年前) (1997-06
最新版 6th Edition / 2015年6月17日(13か月前) (2015-06-17
種別 スクリプト言語
派生元 JavaScript
公式サイト ECMA-262ECMA-290
ECMA-327ECMA-357
テンプレートを表示

ECMAScript(エクマスクリプト)は、JavaScript の標準であり、Ecmaインターナショナルのもとで標準化手続きなどが行われている。2015年6月に第6版がリリースされている。

Ecmaインターナショナルのほか、ISO/IEC JTC 1からもISO/IEC 16262として標準化されている。日本もJIS X 3060としてJIS化している。


バージョン[編集]

公開日 以前のバージョンとの違い 編集者
1 1997年6月 初版 ガイ・スティール・ジュニア
2 1998年6月 エディションとしての仕様はそのままであり、ISO/IEC 16262 international standard に完全な対応をした マイク・コウリショウ英語版[2]
3 1999年12月 正規表現、よりよい文字列の取り扱い、新しいコントロール構文、try/catch例外処理、より厳格なエラー処理、数字のその他の書式化フォーマット マイク・コウリショウ
4 放棄 この版は放棄された。言語の複雑化に関する政治的な差異による。いくつかの成果は5thの基礎として採用され、いくつかは6thの基礎となっている。
5 2009年12月 strictストリクトモード」、初期化時に発生しがちなエラーを回避するための追加仕様の追加。多くの曖昧な部分、および仕様に準拠しつつも現実世界の実装の融通の利く振る舞いを明確にした。いくらかの新機能、getterゲッターsetterセッターJSONライブラリのサポート、より完全なオブジェクトの属性のリフレクション[3] プラタップ・ラクシュマン[4]、アレン・ヴィルフス-ブロック[5]
5.1 2011年6月 プラタップ・ラクシュマン、アレン・ヴィルフス-ブロック
6 2015年6月17日 クラス、モジュール、イテレータ、for/ofループ、Pythonスタイルのジェネレータ、アロー関数、2進数および8進数の整数リテラル、Mapオブジェクト、Setオブジェクト、WeakMapオブジェクト、WeakSetオブジェクト、プロキシ、テンプレート文字列、letconst、型付き配列、デフォルト引数、Symbol、Promise、分割代入、可変長引数 アレン・ヴィルフス-ブロック
7 策定中

2004年6月に、Ecmaインターナショナルは ECMA-357 standard を公開した。ECMAScript の拡張であり、 E4X[6]として知られるものである。

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

文法[編集]

方言およびその呼称[編集]

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

アプリケーション 呼称 最新バージョン 対応するECMAScriptリビジョン
Mozilla およびその派生品 JavaScript 1.8.5 ECMA-262 5.1 edition
ECMA-357[呼称 1]
Internet Explorer JScript (Internet Explorer 8 まで) 5.8 ECMA-262 3rd edition
JScript (Chakra) 11.0 ECMA-262 5.1 edition
Google Chrome
Opera
JavaScript ECMA-262 5.1 edition
Safari (JSCore) JavaScript ECMA-262 5.1 edition
Konqueror (KJS) JavaScript ECMA-262 3rd edition
iCab InScript ECMA-262 3rd edition
Microsoft .NET JScript .NET 10.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
  1. ^ Mozilla1.8 Beta 1以降でE4X をサポートしている。
  2. ^ 2001年頃のマイクロソフト社の草案であり、独自に開発を進めたもので、現在の ECMAScript 4 の草案とは大きく異なる。
  3. ^ 2001年頃のネットスケープ社の草案に近く、現在の ECMAScript 4 草案のサブセットに近い。

ECMAScript 4[編集]

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

1回目[編集]

2000年~2003年ごろ行われた。主に、旧ネットスケープ社とマイクロソフト社によって行われたが、意見がまとまらずに、打ち切りとなった。この時の案は ActionScript へと引き継がれた。

2回目[編集]

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

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

脚注[編集]

  1. ^ RFC 4329
  2. ^ : Mike Cowlishaw
  3. ^ JavaScriptの変更、Part 1: EcmaScript 5
  4. ^ : Pratap Lakshman
  5. ^ : Allen Wirfs-Brock
  6. ^ : ECMAScript for XML
  7. ^ : Compact Profile
  8. ^ https://mail.mozilla.org/pipermail/es-discuss/2008-August/003400.html

関連項目[編集]

外部リンク[編集]