一般社団法人 全国個人事業主支援協会

COLUMN コラム

こんにちは!frontend developerのyossyです。

今回はECMAScriptについて書こうと思います。そもそもECMAScriptはES~の様に省略される事の方が多いのではないでしょうか。過去にはJavaScript以外にもECMAScriptを実装している言語は存在します。

  1. ActionScript (Adobe Flashで使われていたがFlashの廃止に伴い下降した。個人的にはAction Scriptはかなり熱中しました)
  2. JScript (かつてNetscapeしかJavaScriptをサポートしていなかったころ、Microsoft Internet Explorerがサポートしていた独自のスクリプト)

JavaScriptは、作成された後にNetscapeとSun MicrosystemsによってEcmaに提出され、ECMA262通称ECMA Scriptという名称になりました。Ecma Internationalというスイスの標準化団体が国際標準の定義を行っています。IE9以降MicrosotftはJScriptという名前を使用せず、JavaScriptという名称を使い始めました。201x年以降ECMAScriptを実装している唯一の言語はJavaScriptとなります。

ES Version

過去から現在に至るまでES1~ES9のバージョンがリリースされています。

Edition 正式名称 リリース
ES9 ES2018 2018年6月
ES8 ES2017 2017年6月
ES7 ES2016 2016年6月
ES6 ES2015 2015年6月
ES5.1 ES5.1 2011年6月
ES5 ES5 2009年12月
ES4 ES4 廃棄
ES3 ES3 1999年12月
ES2 ES2 1998年6月
ES1 ES1 1997年6月

Javascriptのこれまでの機能

  • JavaScriptの発表 (1995/12/4): ネットスケープ+サン
  • ES1 (1997/6): オブジェクトベース、Prototype、他
  • ES3 (1999/12): 正規表現、try-catch、do-while、Stringメソッド
  • Google Mapリリース (2005/2)
  • Google Chromeリリース (2008/9): V8エンジン
  • ES5 (2009/12): ‘use strict’、JSON、function.bind、Objectメソッド、Arrayメソッド
  • ES6 (2015/6): Class構文、module、Arrow function、const/let、Template literal、Promise、他多数
  • ES7 (2016/6): 階乗記号、array.includes()
  • ES8 (2017/6): async/await、メモリ操作、String padding、Objectメソッド追加、他
  • ES9 (2018/6): 非同期イテレータ、BigInt、Promise.prototype.finally、import()

ECMA Script仕様一覧

追加仕様 ES2015
(ES6)
ES2016
(ES7)
ES2017
(ES8)
ES2018
(ES9)
let/const宣言
class構文
Promise
アロー関数
importとexportによるモジュール構文
テンプレート文字列
関数の可変長引数
関数のデフォルト引数
分割代入
配列展開
for of
Map/Set/WeakMap/WeakSet
Symbol
型付き配列
Array.includes
Object.values/Object.entries
String.padStart/String.padEnd
Object.getOwnPropertyDescriptors
末尾カンマ許容
Async/Await
オブジェクトのRest/Spread
Promise.finally
テンプレートリテラルの改修
正規表現:sオプション
正規表現:名前付きグループ
正規表現:後読み
Unicodeプロパティエスケープ
for-await-of

最後に今後のES10(2019/6?)をご紹介致します。

https://medium.com/@selvaganesh93/javascript-whats-new-in-ecmascript-2019-es2019-es10-35210c6e7f4b

https://github.com/tc39/proposals

The following two tabs change content below.

yossy

最新記事 by yossy (全て見る)

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア