nodejsの=>関数
5374 ワード
基本的な使い方:ES 6では、「矢印」(=>)定義関数の使用が許可されています.
var f = v => v;
上のコードは以下の通りです.var function(v){
return v;
}
矢印関数によってパラメータがあるかどうかで、1、パラメータがない矢印関数を区別します.var f = ()=>5;
に等しいvar function(){
return 5;
}
2、パラメータのある矢印関数var sum = (a,b)=>a+b;
に等しいvar sum=function(a,b){
return a+b;
}
ある関数の中の文が一つより大きい場合、その書き方は次のように括弧を使ってくくります.そして、return文を使って返します.var sum = (a,b) => {return a+b;}
大かっこはコードブロックとして解釈されていますので、矢印関数が直接オブジェクトに戻る場合は、対象外に大きな括弧を加えなければなりません.var getFunctipn = id => ({id:id,name:"nodejs"})
矢印関数は、変数解と結合しても使用できます.const full = ({first, last}) => first +" "+ last;
に等しいconst full=function(persion){
return persion.first+" "+persion.last;
}
矢印関数を使用して、関数表現をより簡潔にすることができる矢印関数の1つの用途は、簡単なコールバック関数です.[1,2,3].map(function(x){
return x*x;
});
に等しい[1,2,3].map(x=>x*x)
もう一つの例var result = values.sort(function(a, b){
return a -b;
});
に等しいvar result = values.sort((ab)=>a-b)
レスポンスパラメータを使って矢印関数と結合した例const numbers = (...nums) => nums;
numbers(1,2,3,4,5,6,7,8,9); //[1,2,3,4,5,6,7,8,9]
const headAndTail = ( head, ...tail) => [head, tail];
headAndTail(1,2,3,4,5,6,7,8,9);// [1, [2,3,4,5,6,7,8,9]]