初めに
関数を戻り値にする関数について学習した内容のoutput用記事です。
※内容に間違いなどがある場合はご指摘をよろしくお願いします。
※こちらの記事はあくまでも個人で学習した内容のoutputとしての記事になります。
試してみる
次のようにcalculatesという関数の戻り値が関数である場合を考えてみます。
const calculates = function (a, b) {
return function (c) {
console.log(a + b * c);
}
}
calculatesに引数を1と2を渡し、変数exampleに格納します。この時、exampleはcという引数を取る関数になります。
const example = calculates(1, 2);
//exampleはfunction(c)と同様
example(3);
example(4);

これはfunction(a,b)の戻り値はfunction(c)になるので連続して書くこともできます。
calculates(1,2)(3);
calculates(1,2)(4);
アロー関数を使えば、次のようにさらに短く書くことも可能です。
const calAttr = (a, b) => (c) => console.log(a + b * c);
calAttr(1,2)(3);
calAttr(1,2)(4);
参考サイト