解 説

ECMAScriptはEcma Internationalによって標準化された仕様です。ECMAScript6は2015年に採用されたため、ES2015やES6などと省略されて呼ばれています。ここではES6で特筆すべき機能を紹介します。
Node.jsではES6の仕様がサポートされていますので、積極的に使って行きたいものです。クライアントJavaScriptはIEが未対応ですので注意が必要です。
ECMAScript6対応状況

letについて

ブロックスコープは通常のJavaScriptではその概念がありません。けれどもES6ではブロックスコープが利用可能となっています。
ブロックスコープの変数宣言はlet命令を使います。
let命令の例

*letは変数の巻き上げが起こりませんので注意してください。

constについて

定数はJavaScriptには存在しませんでしたが、ES6で使用可能となりました。
定数は一度宣言して値を代入したら、再び代入はできません。その時点でエラーになります。

アロー関数

アロー関数は無名関数をより簡単に記述するものです。

アロー関数の記述方法
 (仮引数) => {
命令文
}

引数が1つの場合は()を省略したり、処理が1行なら{}を省略することもできます。

テンプレート文字列

文字列に変数を埋め込む場合JavaScriptでは + で繋げます。結構面倒なのですが、ES6の新しい構文で、${}を使った文字列連結が行えます。
文字列リテラルをバッククォートで囲んでいることに注意してください。

参考例

クラスの定義

JavaScriptにはクラスの概念がありません。ES6でようやく本物のクラスを使えるようになりました。
関数宣言は巻き上げされるのに対し、クラス宣言ではされないことです。クラスにアクセスする前に、そのクラスを宣言する必要があります。
コンストラクタは、クラスによって定義されるオブジェクトの生成時に、初期化を行う特別なメソッドです。
クラスの定義の例