JavaScript アロー関数

株式会社リュディアです。今日は JavaScript のアロー関数についてまとめてます。掲載するソースコードはすべて GAS の開発環境で動作確認をしています。

まず JavaScript の通常の関数定義例を示します。和を返す関数を例としました。

function add1( a, b ) {
  return a + b ;
}

let add2 = function( a, b ) {
  return a + b ;
}

function main() {
  const a = 4 ;
  const b = 3 ;
  console.log( add1( a, b ) ) ;
  console.log( add2( a, b ) ) ;
}

// 実行結果
// 7
// 7

​add1, add2 とも2つの引数 a, b をとり、その和を戻り値とします。次にこれをアロー関数で書いてみます。

let add3 = ( a, b ) => a + b ;

function main() {
  const a = 4 ;
  const b = 3 ;
  console.log( add3( a, b ) ) ;
}

// 実行結果
// 7

add2 と add3 を比較して通常関数とアロー関数で何が異なるのか見てみましょう。

let add2 = function( a, b )   { return a + b ;}
let add3 =         ( a, b ) => a + b ;

見てわかるように以下の違いがありますね。ここでは { } の有り無しは無視してください。

1. アロー関数では "function" を省略可能
2. アロー関数では "return" を省略可能
3. アロー関数では => (矢印(アロー))が追加で必要

またここまでの例は関数本体が1文で構成されていますが、{ } で囲むことで複数行のアロー関数も記述可能です。

let add3 = ( a, b ) => {
  const c = a + b ;
  return c ;
};

function main() {
  const a = 4 ;
  const b = 3 ;
  console.log( add3( a, b ) ) ;
}

// 実行結果
// 7

アロー関数の記述方法についてまとめてみました。JavaScriptのプログラミングですべての関数をアロー関数で記述する必要はないですが、簡単な関数はアロー関数で記述した方が見た目もシンプルになると思います。

最後に通常関数とアロー関数の違いは見た目だけでなく動作にもあります。しかし普通のJavaScript プログラミングをしている分には意識しなくてよいと思います。興味のある方はどの this オブジェクトに縛られる(バインド)か、というテーマでWEB上で検索してみてください。

では、ごきげんよう。

いいなと思ったら応援しよう!