ES6補数のES5に:
1.変数注•
1)使用宣言はローカル変数であり、ここにいる唯一の有効なドメインを認証させ、ステートメントを繰り返すことができない、と声明は(varが事前に宣言された)進みませんが、変数を作成します進歩。
2)に関しては、何の進歩を懇願しないようにするには、それは自分自身のスコープを使用する優先度を持つ電界効果を検出することができますが、断言し、後で使用するには、一時的なデッドゾーンを引き起こす可能性があります。
、3)constが定数として宣言しましたまた、読み取り専用に変更し、同様の他の特性を聞かせしないように。
2.NPMノードパッケージ管理ツールの
ダウンロードパッケージ、パッケージを削除し、パッケージ更新
パッケージは、プロジェクトに依存しています
-gパッケージ名はインストールNPM
パッケージ名インストールcnpm
糸がパッケージ名追加
-g:グローバルは、この目的のためにディレクトリなしにインストールを
ダウンロードパッケージディレクトリに格納されてnode_modules。
3.各JSファイルには、各モジュールにアクセスする方法を、モジュールである。
アクセスNodejsモジュールでの最初のエクスポート:= 1 module.exports.aは、その後、モジュールの必要性が(必要」./ URL JSファイル「)を導入。
4.解体:パターンマッチング
1)配列解体
//拡張オペレータ...
LET [M、... N - ] = [1,2,3];
M = N-1 = [2,3];
//デフォルト値を肯定するために、デフォルト値のみ未定義テイク効果にマッチングされ、デフォルト値は、関数であってもよい。
LET [E、F =「ハロー」] = [1];
E = 1、F =こんにちは。
2)目標解体の
LET {名、年齢} = {名: 'zhangsan'、年齢:12である};
LET {名:名前、年齢:年齢} = {名: 'zhangsan'、年齢:12である};
生成名、年齢変数は、対象となっていますname属性の値。
//共感のデフォルト値。
3)文字列解体は
{長さ} =「hello」を聞かせて 、 5の長さが得られます
4)機能パラメータ解体の
機能試験([X = '0'、Y = 2]){
にconsole.log(X、Y);
}
テスト([1,2]);
機能テスト({名:NAME =「HA "年齢}){
にconsole.log(名前、年齢);
}
テスト({名:"母」、年齢:23)}です。
//演算子REST:...、パラメータ特性を自動的に冗長アレイに変換される
//配列または(ARR ...)拡張
機能テスト(X、Y ...){
コンソール。ログ(X、Y); //
}
テスト(1,2,3); X :. 1、Y:[2,3]。
オブジェクトの5.es6修飾:
属性値と属性名は、オブジェクトの同じ名前である1)と略記することができる:
LET OBJ = {名前};
2)方法も略すことがある。
sayNameを(){
}
プロパティは変数命名された場合3)、
[STR]:// STR 1 = "性別";
[ "言う" STR +]:(関数){// saygender方法
はconsole.log(この[STR]); / 。/出力1
}
OBJ [STR]; // STRアクセスオブジェクト
OBJ [ 'saygender'] // saygender関数OBJ得る
4)プロトタイプオブジェクトへの変更:
1.getPrototypeOf(OBJ):プロトタイプオブジェクトのインスタンスを取得する
2 .setPrototypeOf(OBJ、protoObj):プロトタイプオブジェクトprotoObjのOBJ変形例、コンストラクタも変化;
新しい5)OBJ方法
1.Object.keys(OBJ):オブジェクト戻り、すべての属性名
2.Object .values(OBJ):オブジェクトは、すべての属性は、値を返し
3.Object.entries(OBJ)を戻り値:オブジェクトの属性値のペア。
4.Object.is(a、b)は、2つの値が等しい、Bの分析。
6)注意事項でOBJ:
1.デフォルトパラメータ値がパラメータ尾の関数として一般に定義され、関数の長さパラメータは、パラメータの数がデフォルト値を指定されていない返します。
6.サプリメント(機能矢印)機能:引数を取得したい場合は、これを所有していない、それはコンストラクタとしてではなく、内部の引数は残りのオブジェクトを使用して、引数を持っていない
グローバルオブジェクトの正常な機能には、この点を(例えば:グローバルオブジェクト)、関数はグローバルオブジェクトに配置されているため、この空のブロックは、空のオブジェクトである。
関数書き込み矢印:
((パラメータ)=> {//関数本体を置く。
にconsole.log(この); //共通と場所を変更するために使用されることはありませんので、それは、セットで宣言されたときに異なる機能、印刷は、このの親スコープで、これを使用することは推奨されません。
})(); //自動的に、それは無名関数であるため、
聞かせて楽しい=()=> {
はconsole.log( "笑");
}
7.アレイの拡張:
1クラスは、配列に配列を横断することができる:Array.from();
2.配列に値のセットを変換する:Array.of(1、2,3,5);
3。配列内の値を見つける
arr.find(項目、インデックス、ARR)を 、 リターン要素を見つけることが見出されていないリターンは未定義
arr.findIndex(上記のようなパラメータ)、インデックスが返されたか否かの要素によって、戻らなかっ-1
4.fillを(パラメータ)。パラメーターを充填する配列の元の値の値
。内部イテレータ5イテレータオブジェクトを実装するための-のトラバースに使用するインタフェース
6アレイは、(キーを有している)、値()、エントリ()
7.includes(値)が決定されたそのような要素は、ではない真の有望な、偽ではありません
非同期操作8.補足プロミス:非同期の同期運転方法、非同期動作内に格納さ
1.promiseオブジェクトがコンテナである、内部パラメータ関数が構築され、成功と失敗の機能を表す
。2.このオブジェクト手紙でのオブジェクトの成功後に自動的に実行される機能(成功した機能に入る)関数のパラメータを内部メソッド
このオブジェクトの3キャッチメソッドは、自動的に関数内のオブジェクトの後に実行された関数(共感)失敗し
4.finally時間とにかく、これらの三つの方法を約束の時刻に宣言するために結合されている最後の実行。
5.Promise.all([P1、P2]);.パラメータは、しばらく正常にのみ成功した関係との関係である約束の配列であります戻りオブジェクト約束
6.Promise.race([P1、P2]) :レース、状態で終わる必要があり、オブジェクトが約束を返す
場合、オブジェクトを返しますが、解決の状況を約束:7.Promise.resolve(OBJ)をOBJだけのように直接呼び出しがあり
共感:8.Promise.reject(objが)。
セット、マップ:9.設定の増加
(設定値としてキー値と設定):メソッドセットの
、追加(値)
[削除](値);
クリア();
(値)は、
キー()イテレータオブジェクトを返します
か(キーのキーを聞かせて):個々のキー値の横断取得
:マップ方法
新しい新しいマップ([[名:「ジョン・ドウを」]、[年齢は18]である])
;新新マップ(Object.entries(OBJ))
サイズ
SET(キー、値);
(キー)は、
forEachの(関数(値、キー、地図))
:クラス10.jsを参照して(クラス性質ED6はまた、他の文言のコンストラクタとして、プロトタイプチェーンを用いて達成された)
1.静的プロパティ:直接宣言するクラス名を介して
11.ES6はCommonJS、モジュール
由来
名=「ジョー・スミス」ましょう。
エクスポート{名:名}
エクスポートデフォルト{
名
}
インポート
「./module.js'からインポート{名前} 。
注:バベル変換だけ変革文法、(バベル-ポリフィルガスケットとの出会いによってサポートされていない)無変換関数
12.es6どのようにコンバートES5(使用バベル変換ツール)
1、グローバルインストールCLI-バベル
NPM-CLI //バベル-gインストール- Gは、グローバルインストール表す
ルートディレクトリを作成するために、2を、ルートディレクトリsrcとDISTディレクトリのディレクトリを作成
ES6コードを記憶し、編集するためのsrcディレクトリ、インデックスが.jsファイルに
格納されたコードをデコードするためのdistディレクトリ
NPM INIT -y、すべてのラウンドpackage.jsonの生成方法、ノードプロジェクト、作成、3を行う
4、ルートディレクトリ.babelrcにファイルを作成し
、{
「プリセット」:
「ES2015」を
]、
"プラグイン":[]
}
5、インストールES5変換://依存関係をダウンロードするカタログで、でダウンロードpackage.jsonを保存するために依存
--save-devのバベルNPM-PRESET-ES2015インストール実行
--save- DEV:開発段階では、依存して使用
--save:ステージ依存で使用される製品。
図6に示すように、コード変換:
バベルSRC --out DIR-DISTは、
ES5のdistディレクトリにsrcおよび出力にindex.jsに変換しました