【js】無名関数と即時関数

無名関数とは

関数名がない
一番のメリットは、関数名を考えなくて良く、メンテナンス性にも貢献
通常の関数とは違って名前がないので、変数に代入するか、別の関数の引数として指定しないとダメ

要は、結局、戻り値がある関数を使うためには結果を変数に代入しないいけなくて
結局変数に入れられる関数に名前っていらなくない?ってなっただけ。
書き方を覚えれば終わり。

書き方

通常

 function sum (price1, price2){
  return price1 + price2;
}

let product_price = sum(2,5);
console.log(product_price);

【結果】
7

無名関数

let funSum = function (price1, price2){
  return price1 + price2;
}

let product_price = funSum(2,5);
console.log(product_price);

【結果】
7


即時関数とは

関数定義した瞬間に、実行される関数のこと
定義した関数の後ろに()という、関数処理するよーの記述をくっつけると、定義→呼び出し、の流れを同時にできる。
また、()内に引数として値や変数なども入れられる。

let funSum = (function (price1, price2){
  return price1 + price2;
})(2,5);

console.log(funSum);

【結果】
7