ES6 アロー関数

「アロー関数」「ラムダ式」の言い方の違いがよくわからないけど、とりあえずアロー関数という言い方が一般的なのかな?

パラメータ数毎の書き方

パラメータが2つ以上

// 既存の書き方
function(param1, param2){
 return param1 * param2;
}

// アロー関数
(param1, param2) => param1 * param2

パラメータが1つ

// 既存の書き方
function(param){
 return param*3;
}

// アロー関数
param => param*3
(param) => param*3

パラメータなし

// 既存の書き方
function(){
 return hoge;
}

// アロー関数
() => hoge

関数の処理がreturn のみかどうか

return のみではない

// 既存の書き方
function(param){
 console.log('hoge');
 return param*3;
}

// アロー関数
param => { 
 console.log('hoge');
 return param*3;
}

return のみ

{}と return を省略できる

// 既存の書き方
function(param){
 return param*3;
}

// アロー関数
param => param*3
// ただし、オブジェクトを return する場合は() で囲む!
param => ({num:3, value:param*3})