最近この3つの関数について学び、1日かけてようやく最低限の理解はできたので、自分用メモとして書きます。
間違っている場合は、ご指摘をくださると嬉しいです。
#関数宣言
関数宣言とは、以下の書き方を指します。
関数宣言した関数を使いたい場合は、関数名();とすればOKです。今回の場合は、sample();とすればOKということです。
function sample(){
console.log('sample');
}
#関数式
関数式とは、以下の書き方を指します。関数式は、変数に関数を代入するという書き方をします。なので、このsampleを使いたい場合は、変数名();とすればOKです。今回の場合は、sample()となります。
{}の後に;をつけ忘れないようにしましょう。
;がなくても動いてしまいますが、関数式は変数に関数を代入するような書き方なので、一般的に;は書くべきだそうです。
const sample = function(){
console.log('sample');
};
(追記)
ありがたい事に補足をいただいたので、ここにもメモとして残します。
関数式は上のような書き方もできますが、以下のように関数名を書いた書き方もできるようです。
const sample = function sample1(){
console.log('sample');
};
この場合は、
- 関数外から呼び出す場合は変数名();でないと呼び出せません。
- 関数名();は関数内でないと使えないようです。
じゃあ関数内で関数を呼び出すときってどんなとき?
→再帰関数を使うするとき
#アロー関数
アロー関数は、以下の書き方を指します。
この関数は、関数式を省略して書けるというメリットがあります。
・・・正確にいうと、他に大きなメリットがあるのですが(this問題とか)今は省略します。
上の関数式の「function()」の部分が「() =>」に変わった書き方と解釈してOKです。
アロー関数は関数式と同じく、使いたいときは変数名();でOKです。
また、こちらも**;忘れにはお気をつけて。**
const sample = () => {
console.log('sample');
};