ECMAScriptとJavaScript

JavaScriptjavascript

JavaScript での開発を行っている際に、ECMAScript(エクマスクリプト)という用語が度々登場することになっていたので調べてみることにしました。
これまでの参照ページはこちら
JavaScript初心者が知ったvarとletによる宣言の違い
JavaSfriptでDOM操作
JavaScriptについて初心者が特徴を調べてみた

ECMAScriptとは

JavaScriptにはECMAScript(エクマスクリプト)という仕様があり、仕様に基づき各ブラウザエンジンに実装されたものが、普段記述しているJavaScriptである。
ECMAScriptは、Ecma Internationalという団体によって標準化されている。そして、ECMAScriptには検討中の仕様がいくつもある。この仕様が、プロセスを経てブラウザエンジンに実装される事によって、JavaScriptとして使える様になる。現在提案されている使用について確認することができる。その仕様が今後使える様になることがある。

ECMAScriptプロセス

0strawmanアイデア段階
1proposalアイデアがプロポーザルとして認められて、議論を進めている段階
2draftドラフトとして、APIや構文についての仕様書が存在
3candidate仕様としては完成していて、実装やフィードバックの待ち状態
4finished仕様の策定が完了している状態

現在のECMAScriptのリリースサイクルは1年ごと。毎年のリリースタイミングで、stage4担っているものが、その年の、ES20**のしようとしてリリースされる。
仕様の確定後にリリースされてからすぐに利用訳ではなく、リリースされた仕様が、ブラウザエンジンに実装されるのを持つか、Babelのようなトランスパイラを利用する必要がある。

トランスパイラ

Babelのようなトランスパイラを使うことで、まだ実装されていない新機能を先取りしたコードを書くことができるようになる。機能によっては新しい仕様を再現できないケースも存在。

ES2015(ES6)とは

ECMAScriptの6th Editionのこと。2015年に標準化されたことから正式名称はES2015になった。

使える機能

  • letとconstが使えるようになった
  • ブランケットによるブロックスコープ
  • アロー関数