こんにちは!frontend developerのyossyです。
今回はECMAScriptについて書こうと思います。そもそもECMAScriptはES~の様に省略される事の方が多いのではないでしょうか。過去にはJavaScript以外にもECMAScriptを実装している言語は存在します。
JavaScriptは、作成された後にNetscapeとSun MicrosystemsによってEcmaに提出され、ECMA262通称ECMA Scriptという名称になりました。Ecma Internationalというスイスの標準化団体が国際標準の定義を行っています。IE9以降MicrosotftはJScriptという名前を使用せず、JavaScriptという名称を使い始めました。201x年以降ECMAScriptを実装している唯一の言語はJavaScriptとなります。
過去から現在に至るまで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月 |
追加仕様 | 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