ES6 '矢印'を使用して(=>)定義関数
のvar F = V => V。
1、矢印関数特性
1)in vivoでのこの関数の値は、このバインディングが定義されている範囲
2)ないコンストラクタとして
3))...残りの部分を代わりに使用することができる(、引数のオブジェクトを使用しません
2、構文:()=> {}
変形:1)のパラメータ、戻り値のコードのみを通過させません
VARは =()=> 2を加えます。 console.log((追加));
2)パラメータを渡します
varが = A => A + 2を追加します。 console.log((a)に追加します)。
3)複数の値を渡します
VaRの追加=(A、B)=> A + B。 console.log(追加( 1,2))。
オブジェクトが返された場合4)は、()ラッピングを使用する必要があります
VaRの追加=(A、B)=>({NUM:A + B})。 console.log(追加( 10,10));
5)in vivoでの論理関数は、我々は括弧を増加させ、手動戻りの所望の値を返す必要がある場合
VaRは =(A、B)=>追加{ 場合(< B){ 返します。 } }。 console.log(追加( 1,10));
3、プロパティ分析
ES5この中で定義された内部関数は、ああ、あなたが呼び出すときに、特定のであり、この機能では矢印が決定することであるときの定義ここの結合の定義の範囲
= document.onclick()=> { たsetTimeout(() => { にconsole.log(この); } 、 1000年) にconsole.log(この); } // 2つのウィンドウが印刷されています
4、機能拡張
直接指定パラメータの機能のデフォルト値、および機能は、in vivoで使用されるか、再度のCONSTを聞かせて、与えられることができません
// ES5達成デフォルト
機能のFn(A){ A = A || 10; // 被保険者ではない。この場合 はconsole.log(A)を; } のFn( 0); // 10 のFn( ''); // 10
ES6は体内機能およびパラメータ変数再宣言することができないため//
関数fn(A = 10){
にconsole.log(A)
}
のFn(0)。
残りはあるが、残りのパラメータ(変数名の形...で)残りのパラメータは、余分な機能を取得するパラメータは、アレイ上の直接の引数は、引数は、引数(配列型)の集合であり、引数を置換されていてもよいです引数の配列
FN関数(){
にconsole.log(引数);
}
FN(1,2,3,4);
//パラメータRESTの
関数fn(... ARR){
にconsole.log(ARR); //この時点でARRあります実際のアレイ
}
のFn(2、3)
//分離することができます
FN機能(A、B、... ARR){
にconsole.log(A)
にconsole.log(B);
//この時間は実際の配列arrであるにconsole.log(ARR)
}
5、オブジェクト拡張
1)同時に可変形状と属性名を変数名を直接書き込むことができます
2)ファンクションキーの機能を省略することができます
3)Object.assign()
オブジェクトをマージするために、ターゲットオブジェクトにプロパティコピー元のオブジェクトを列挙します
VAR licanv = 10 ; VAR OBJ = { // lincanv:lincanv
lincanv //属性名と変数名彼らは省略することができるように
} にconsole.log(OBJ)
一般的に使用するための機能モジュールを書くとき
VaRの UTIL =(関数(){ 関数の追加(){}; 関数isFunction(){}; 関数でIsArray(){}; リターン{ 追加、 isFunction、 でIsArray } })(); util.add()
関数を定義するときは、書き込み関数内で直接オブジェクトを省略することができます
VAR OBJ = { // FN:関数(){} 関数(){} }
Object.assign()メソッド
VaRの O = {:. 1 } VARの O2 = {B:2 } VAR O3 C = {:3 } // 両方のために動作してcopy O 2、OとO 3の特性、 // ES6使用アサイン オブジェクト.ASSIGN(O、O1、O2) にconsole.log(O)
通常Object.assignパッケージウィジェット
関数のFn(オプション){ LETデフォルト = { A: '既定1' 、 B: 'デフォルト2' 、 C: 'デフォルト3' } Object.assign(デフォルト、オプション) はconsole.log(デフォルト); } // オプションのパラメータが渡される (の{fnを :A 1 、 B: 2 、 C: 3 })