名前付き関数式と無名関数

  • 名前付き関数式
var func = function name(){
 ・・・・・
};

nameが関数名である。

  • 無名関数
var func = function(){
 ・・・・・
}:

無名関数にしても、定義に変化はないが、関数オブジェクトのnameプロパティ(上記例の場合、func.name)が空文字列になる。
nameプロパティが空文字列だと、デバッガを使用しても関数名がでてこなくて、デバッグがし辛くなるという欠点がある。
逆に、名前付き関数式の場合のデメリットはあるのだろうか?