アロー関数とは、下記のようなコードのうち、(arg1, arg2)から}までの関数の部分を指します。
.js
const arrowFunction = (arg1, arg2) => {
console.log("処理を開始します");
return arg1 + arg2;
}
またアロー関数を使うメリットとしては、関数式による関数宣言を行うよりも、処理を簡潔に記述できる点があります。
例えば、同じ意味の処理をする記述が一行で済む場合には、関数式による関数宣言では複数行のコードが必要なのに対し、アロー関数を用いると一行で済みます。
下記のnormalFunctionとarrowFunctionは共に、引数arg1とarg2を受け取り、その和(arg1+arg2)を返しますが、前者は三行の記述が必要なことに対し、後者は一行で済むことがわかります。
normalFunction.js
const normalFunction = function(arg1, arg2) {
return arg1 + arg2
}
arrowFunction.js
const arrowFunction = (arg1, arg2) => arg1 + arg2;
一方、本文が複数行のときは、{}は省略できません。
multiRowArrowFunction.js
const multiRowArrowFunction = arg => {
console.log(arg);
return arg * 2;
}
console.log(multiRowArrowFunction(9)); //18が表示される。
最後にオブジェクトを戻り値として返したい場合は、丸括弧()の中にオブジェクトリテラル{}を記述する。
returnObjFunction.js
const returnObjFunction = arg => ({result: arg * 2});
console.log(returnObjFunction(9)); //{result: 18}が表示される。
この例ではresultというプロパティを持ったオブジェクトが、関数の実行結果として返却されます。