JavaScript

WIP:JavaScript:関数宣言とか関数式とか表現が曖昧なので改名したいと思って色々調べたら割と適切だった

関数宣言 - function declarations

function myFunc(){
  console.log('test')
}
  • 実態は関数
  • スコープの上部(ファイルのとかscriptタグ内の上の方と思えばいいのかな?)で宣言された扱いになるので、宣言の記述よりも上の方で呼び出す事ができる
    • これを「巻き上げ - hoisting」と呼ぶ

無名関数 - anonymous function

function() {
  console.log('test')
}
  • 名前の無い関数
  • 匿名関数と呼ばれたりもしている
  • 即時実行関数のことを無名関数と説明しているサイトもある

関数式 - function expressions

var my_var = function(){
  console.log('test')
}
  • 無名関数を変数に代入する「式」
  • 関数宣言とは違って「巻き上げ」されない

「式」とは

参考:[WIP] JavaScriptの入門書

評価した結果を変数に代入できるものは式であるという理解で問題ありません。

な、なるほどー!だから「関数式」は「関数式」で適切なのか!
ちょっと「関数宣言」の「宣言」が余計な気がする!

改名案

「関数と関数式」の方がしっくりくるのでは!
因みに、コメントで教えていただいたのですが、同じく「関数宣言」を「関数」と表現している方々も既にいらっしゃるようです。

まとめ

適切でした。
とにかく参考で紹介した[WIP] JavaScriptの入門書の説明がすごくわかりやすかったです。
「式」についての知識が得られました。
関係無いんですが、だれかメンターになってください。。