» www.Giftbox.Az - Bir birindən gözəl hədiyyə satışı
ウィキペディアランダム
毎日カテゴリ
共有: WhatsappFacebookTwitterVK

ECMAScript

ECMAScript(エクマスクリプト)は、Ecma Internationalもとで標準化されたJavaScriptの規格である。ISO/IEC JTC 1はISO/IEC 16262[3]として、日本もJIS X 3060:2000として規格を定めている[4][5]

ECMAScript
パラダイム 関数型プログラミング、マルチパラダイムプログラミング、プロトタイプベース命令型プログラミング 
登場時期 1997年 (26年前) (1997)
開発者 ブレンダン・アイク 
最新リリース ECMA-262 12th Edition (ECMAScript 2021)[1]/ 2021年6月 (1年前) (2021-06)
型付け ダック・タイピング、弱い動的型付け
方言 JavaScript, ActionScript, JScript, (QtScript), DMDScript, InScript
影響を受けた言語 SelfHyperTalkAWKC言語CoffeeScriptPerlPythonJavaScheme 
ウェブサイト ecma-international.org
拡張子 es 
(テンプレートを表示)
ECMAScript
拡張子.es
MIMEタイプtext/javascript[2]
開発者サン・マイクロシステムズ
Ecma International
初版1997年6月 (25年前) (1997-06)
最新版
10th Edition
(2019年6月 (3年前) (2019-06))
種別スクリプト言語
派生元JavaScript
ウェブサイト
  • * ECMA-262
  • * ECMA-290
  • * ECMA-327

()カテゴリ / ()テンプレート

バージョン

ECMAScript仕様は、Ecma InternationalにてECMA-262という規格番号で標準化されている。改訂にあたっては版 (edition) が更新されている。

6th editionから、「ECMAScript 2015」仕様の名称に発行年が付加されることになった。以降、ECMAScriptは毎年改訂されることになり、以降特定の版を指す場合は、edition名ではなく年号つきの仕様書名で呼ばれることが推奨されている[6]

Edition 公開日 以前のバージョンとの違い 編集者
1 1997年6月 初版 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の基礎として採用され、いくつかは6thの基礎となっている。
5 2009年12月 "strictモード"、初期化時に発生しがちなエラーを回避するための追加仕様の追加。多くの曖昧な部分、および仕様に準拠しつつも現実世界の実装の融通の利く振る舞いを明確にした。いくらかの新機能、getterやsetter、JSONライブラリのサポート、より完全なオブジェクト属性リフレクション[7] Pratap Lakshman, Allen Wirfs-Brock
5.1 2011年6月 Pratap Lakshman, Allen Wirfs-Brock
6 (2015) 2015年6月 クラスモジュール、イテレータ、for/ofループ、Pythonスタイルのジェネレータ、アロー関数、2進数および8進数の整数リテラル、Map、Set、WeakMap、WeakSet、プロキシ、テンプレート文字列、let、const、型付き配列、デフォルト引数、Symbol、Promise、分割代入、可変長引数 Allen Wirfs-Brock
7 (2016) 2016年6月 冪乗演算子、Array.prototype.includes Brian Terlson
8 (2017) 2017年6月 非同期関数 (async/await)、SharedArrayBufferとAtomics、String.padStart/padEnd、Object.values/entries、Object.getOwnPropertyDescriptors、関数の引数における末尾のカンマ許容
9 (2018) 2018年6月 オブジェクトに対するスプレッド構文、非同期イテレーション、Promise.prototype.finally、正規表現への機能追加 Brian Terlson
10 (2019) 2019年6月 Array.prototype.flat、Array.prototype.flatMap、Object.fromEntriesの追加、他 Brian Terlson, Bradley Farias, Jordan Harband
11 (2020) 2020年6月 オプショナルチェイニング演算子?.Null合体演算子??、BigIntの追加、他 Jordan Harband, Kevin Smith

ECMAScriptにはいくつかの拡張が存在する。

  • ECMA-357 (ECMAScript for XML) - 2004年公開、E4Xとして知られる
  • ECMA-402(国際化API) - 2012年公開
  • ECMA-404 (JSON) - 2013年公開

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

文法

方言およびその呼称

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

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

ECMAScript 4

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

1回目

2000年〜2003年ごろ行われた。主に、旧Netscape社[8]マイクロソフトによって行われたが、意見がまとまらずに、打ち切りとなった。この時の案はActionScriptへと引き継がれた。

2回目

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

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

  • 大規模・大人数開発のための機能の追加[要出典]
  • 型に関する機能の追加[要出典]
  • ジェネリックプログラミングの機能の追加
  • ECMAScript 3 が下位互換だが、互換でない仕様が一部に入る[要出典]
  • ActionScript 3 の上位互換だが、互換でない仕様が一部に入る[要出典]

実装

  • V8 - C++ - Google Chromeブラウザで使われている
  • Rhino (Rhino) - Java
  • Narcissus - JavaScript
  • SpiderMonkey (SpiderMonkey) - C - Firefox/Mozillaブラウザで使われている
  • KJS - C++ - KDEのKonquerorブラウザで使われている
  • JavaScriptCore - C++ - MAC OS XのSafariブラウザやdashboardで使われている。KJSベース
  • NJS - C
  • SEE - Simple ECMAScript Engine - C
  • ixlib - C++
  • QSA - Qt Script for Applications - C++
  • DMDScript - C++/D
  • DMonkey - Delphi
  • FESI - Free EcmaScript Interpreter - Java
  • Scriptonite - Java
  • xwt - Java
  • JANET - Java
  • Epimetheus - C++ - Mozillaプロジェクトによる以前のECMAScript Edition 4草案の実装

脚注

  1. ^ “ECMAScript 2021 Language Specification”. Ecma International (2021年6月). 2021年8月16日閲覧。
  2. ^ 過去には RFC 4329 で「application/ecmascript」とされていたが、互換性のために RFC 9239 で廃止(OBSOLETE)され「text/javascript」に統一された。
  3. ^ ISO/IEC 16262は、ISO/IEC 16262:1998→ISO/IEC 16262:2002→ISO/IEC 16262:2011と改訂されてきたが、2021年8月時点の最新のISO/IEC 22275:2018 Information technology — Programming languages, their environments, and system software interfaces — * ECMAScript Specification Suiteとして、
    • ECMA-262, ECMAScript Language Specification
    • ECMA-402, ECMAScript Internationalization API Specification
    • ISO/IEC 21778, Information technology — The JSON data interchange syntax (Adoption of ECMA-404)
    の最新規格を一括して参照するようになった。
  4. ^ JIS X 3060:2000は、ISO/IEC 16262:1998(ES1相当)の日本語訳。
  5. ^ “JIS X 3060:2000, ECMAScript言語, Information technology -- ECMAScript language specification” (2000年6月30日). 2021年8月16日閲覧。 “対応国際規格:ISO/IEC 16262:1998 (IDT); IDT=identical(一致)”
  6. ^ http://www.wirfs-brock.com/allen/posts/778
  7. ^ JavaScriptの変更, Part 1: EcmaScript 5
  8. ^ https://www-archive.mozilla.org/js/language/old-es4
  9. ^ https://mail.mozilla.org/pipermail/es-discuss/2008-August/003400.html

関連項目

外部リンク

  • ECMAScript
  • ECMAScript言語仕様
    • Standard ECMA-262
      • ECMA-262 ECMAScript Language Specification 3rd edition (December 1999)
      • ECMA-262 ECMAScript Language Specification 5th edition (December 2009)
      • ECMA-262 ECMAScript Language Specification 5.1 edition (June 2011)
      • Standard ECMA-262 6th Edition / June 2015 ECMAScript 2015 Language Specification
      • Standard ECMA-262 12th Edition / June 2015 ECMAScript 2021 Language Specification
    • The most accurate and up-to-date ECMAScript Language Specification
    • Standard ECMA-290 ECMAScript Components Specification (June 1999)
    • Standard ECMA-327 ECMAScript 3rd Edition Compact Profile (June 2001)
    • Under Translation of ECMA-262 3rd Edition(日本語訳)
ウィキペディア、ウィキ、本、library、論文、読んだ、ダウンロード、自由、無料ダウンロード、mp3、video、mp4、3gp、 jpg、jpeg、gif、png、画像、音楽、歌、映画、本、ゲーム、ゲーム。