導入
ES5とES6は、JavaScriptを含む複数の言語の基盤となるスクリプト言語仕様であるECMAScript標準の異なるバージョンを指します。ES5からES6(ECMAScript 2015とも呼ばれます)への進化により、多くの変更と改善がもたらされました。以下は、両者の比較です。
let .1 と const (変数の宣言)
ES5: 変数を定義する主な方法は、 var そうだった。.
ES6: 導入 させて ブロックベースの変数を定義し、 定数 ブロックベースの定数変数を定義します。.
2. テンプレートリテラル
ES5: 文字列を使用する + それらはつながっていた。.
var name = "John";
var greeting = "Hello, " + name + "!";ES6: 文字列パターンが導入されました。.
let name = "John";
let greeting = `Hello, ${name}!`;矢印関数 .3
ES5:
function(x) {
return x * x;
}ES6: 矢印関数が導入され、関数を記述するための表記法が短縮されました。.
x => x * x;
4. クラス
ES5: プロトタイプ継承はクラスの動作をシミュレートするために使用されました。.
ES6: キーワード クラス これはオブジェクト指向プログラミングのために導入されました。.
5. 拡張オブジェクトリテラル
ES5: オブジェクトはキーと値のペアによって定義されました。.
ES6: オブジェクトを定義するためのより短い表記法を提供します。.
let name = "John";
let obj = {name}; // Equivalent to {name: name}6. 構造破壊
ES5: 直接的な方法はありませんでした。.
ES6: オブジェクトまたは配列から複数のプロパティをより簡潔な方法で抽出できるようになりました。.
let person = { firstName: "John", lastName: "Doe" };
let { firstName, lastName } = person;7. デフォルト値、RestとSpread
ES5: デフォルト、残り、またはスプレッド値の管理は手動で行われていました。.
ES6: 関数パラメータのデフォルト値、パラメータ ...休む 引数と演算子を収集する ...広める 配列またはオブジェクトを拡張するために導入されました。.
8. モジュール
ES5: ネイティブモジュールシステムは存在せず、開発者はCommonJSやAMDといったサードパーティのソリューションを使用していました。.
ES6: ネイティブモジュールシステムを使用した 輸入 そして 輸出 紹介された。.
9. 約束
ES5: 非同期操作にはコールバックが使用されました。.
ES6: Promise は、非同期操作をより構造化された方法で管理するために導入されました。.
10. for-ofループ
ES5: 配列を反復処理するにはループを使用します。 のために または それぞれ 使用されました。.
ES6: 指輪 for-of これは反復可能なオブジェクトを反復処理するために導入されました。.
集合、マップ、弱集合、弱マップ 11
ES5: 直接同等のものはありませんでした。.
ES6: これらのタイプのコレクションは、データ管理のために導入されました。.
12. シンボルの種類
ES5: そんな事は無かった。.
ES6: タイプ シンボル 一意の識別子を作成するために導入されました。.
13. 配列とオブジェクトのメソッド
ES5: 限定されたメソッドのセット。.
ES6: 新しい方法 配列.from、 配列.of、 オブジェクト.割り当て などなど、いろいろ紹介されました。.
14. パラメータ管理
ES5: オブジェクトを使用するパラメータ 議論 アクセスが許可されました。.
ES6: パラメータ管理の直接サポート 休む、 デフォルト そして 広める.
結果
これは大まかな比較です。ES5からES6への移行により、JavaScript言語は大幅に進化し、多くの変更と改善がもたらされました。その後、ES7/ES2016以降などの後続バージョンでは、さらに多くの機能が追加されました。.









