ECMAScriptとは

Ecma Interntionalによって標準化されたJavaScriptの仕様のこと。(実装はJavaScript)

目次

ECMAScript略史

ECMA First Edition

NetScape Communications社が開発したJavaScriptの言語標準化のためにEcma Internationalに提出され、1997年に公開。ECMAScriptと呼ばれる。

ECMA Second Edition

First Editionの仕様そのままにISO/IEC 16262 international standardに完全対応

ECMA Third Edition

1999年12月に公開。正規表現、よりよい文字列の取り扱い、新しいコントロール構文、try/catch例外処理、より厳格なエラー処理、数値のその他の書式かフォーマット

ECMA 4th Edition

4th Editionは放棄。言語の複雑化に関する政治的な差異によるもの。その中の一部は5th、6thの基礎として採用。

当初はクラスやインターフェースを含めた新しい概念が色々追加され、声劇片付けされた言語になるはずだったが、ES4にはES3との介護完成がなく、実装された場合は既存のJavaScriptアプリケーションが動かなくなる可能性もあった。そのため論争の的となりEcma Technical Committeeを分裂させ、ECMAScript3.1と呼ばれる小さいアップデートに取り組むために小委員会が編成されたため、ES4は最終的に放棄される。

ECMAScript3.1はECMAScript 5th Editionに改名された上で2009年に公開される。

ECMA 6th Edition

2015年6月に完成。正式名称はECMA Script2015。通称はES6。WebサイトやWebアプリケーションの構築方法も劇的に変化したため、新しい構文、演算子、プリミティブ、既存のオブジェクトの機能を拡張に加えて、新しい概念(クラス構文、ブロックスコープ、アロー関数、モジュール機能など)が搭載。

これ以降、リリースのスピードアップを目的とし1年ごとリリースしていく予定のため、2015、2016年…となるように変更された。

ECMAScriptの仕様の開発と管理

Ecma InternationalのTC39という専門委員会が担当し、メンバーはMozilla、Google、Microsoft、AppleといったWebブラウザを構築しているブラウザベンダー、Web開発者で構成。この仕様を実装しなければならない立場にあるため仕様の既得権を持つ。

EcmaScript仕様に追加される機能は、ステージ0からステージ4までの5つのステージで審議される。

ECMAScriptのステージ

ECMAScriptの開発ステージは5段階となっている。

Stage 0Strawmanアイデア状態。アイデアを提案するにはTC39のメンバーになるかEcmaInternationalに登録する必要がある。
話し合いの模様はesdiscussのWebサイトで確認可能。
Stage 1Proposalステージ0の提案がなぜ有益なのか、実装後の振る舞いや外観がどのようなものになるか、目的や解決方法を示す。
Stage 2Draft提案が完全な仕様にまとめられ、実装上は「実験的なもの」と見なされる。最終的に言語に追加されるとTC39が期待していることを意味する。
Stage 3Candidate仕様が完成したと見なされ、承認されている状態。このステージ後の変更は稀。提案はステージ4に進めても安全な状態。
ECMAScriptエディタがチェックする必要があり。
Stage 4Finished提案がこの最終ステージへ進んだ場合、正式な標準仕様となる準備が整っている状態。
ECMAScriptエディタがチェックする必要があり。

ステージの選択

実験的に機能を試してみたい場合は、Babelなどのプロジェクトが利用可能。プロジェクトなど確実にリリースされるものの場合はステージ3を選択するのも問題ないが(変更があったとしてもごくわずか)ステージ4を利用する。

ステージ0〜2を選択する場合は、将来機能が変更されたり、撤回されたりするリスクを考える必要がある。

Stage0

https://github.com/tc39/ecma262/blob/main/stage0.md

Stage1〜3

https://github.com/tc39/proposals/blob/main/README.md

Stage4

https://github.com/tc39/proposals/blob/main/finished-proposals.md

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次