ホームページ > 記事 > ウェブフロントエンド > es6 と es5 の違いは何ですか
#このチュートリアルの動作環境: Windows 7 システム、ECMAScript 5&&ECMAScript 6 バージョン、Dell G3コンピューター。 ES5 と比較して、ES6 には次のような多くの新機能があります:相違点: 1. es6 には新しいアロー関数がありますが、es5 にはありません; 2. ES6 には新しいブロックレベルのスコープがありますが、es5 にはありません; 3. ES6 ではクラスの概念が導入され、プロトタイプは使用されなくなりましたES5 のようなチェーン 継承を実装; 4. ES6 ではデフォルトの関数パラメーターを設定できますが、es5 では設定できません; 5. ES6 では Promise 機能が追加されました。
1. 新しい矢印関数
アロー機能による問題解決
コーディングを減らし、構造を明確にする
これが実行時に誰を指しているのかを明確にしてください。実行時にこれが何を指しているのかを判断する必要はありません
注: アロー関数には、自身の this、その this は外側の this で、This はアロー関数ではなかった前の関数です。 jsの仕組み上、アロー関数ではない関数のスコープを指します。
アロー関数には
## がありません#、関数本体内のこれ オブジェクトは、それが使用されるオブジェクトではなく、定義されるオブジェクトです。 アロー関数には
引数##がありません# オブジェクト。オブジェクトは関数本体に存在しません。を使用したい場合は、残りのパラメータを使用できますarrow functionはコンストラクターとして使用できません
、new では使用できず、プロパティはありません# #call メソッドと apply メソッドにはパラメータのみがあり、スコープはありません
yield コマンドは使用できないしたがって、アロー関数をジェネレーター関数として使用することはできません
2. ブロックレベルのスコープ
ES6 の let コマンドは変数を宣言し、その使用法は var の使用法と似ていますが、let は新しいブロックレベルのスコープを JavaScript に追加します。 ES5 ではスコープ、var には変数プロモーションの概念がありますが、let では使用する変数を宣言する必要があります。const は定数を宣言します
4. デフォルトの関数パラメータを設定する
ES6 では、関数 A (x, y=9) などのデフォルトの関数パラメータを設定できます。 {} ;5.promise
promise 生成の背景: コールバック地獄の問題の解決と非同期リクエストの処理promise使用法: チェーン タイプ呼び出し、成功および失敗コールバック、3 つの状態、保留状態が変化したときにトリガーされます。一度ステータスが変化すると、再度ステータスが変化することはありません。 #6. テンプレート文字列
7. 割り当て構造 [推奨学習:
JavaScript 上級チュートリアル]
以上がes6 と es5 の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。