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]]