Po co używać nazwanych wyrażeń funkcji?

Mamy dwa różne sposoby wykonywania wyrażenia funkcji w JavaScript:

Wyrażenie o nazwie funkcji (NFE):

var boo = function boo () {
  alert(1);
};

Wyrażenie funkcji anonimowej:

var boo = function () {
  alert(1);
};

I oba można wywołaćboo();. Naprawdę nie rozumiem dlaczego / kiedy powinienem używać funkcji anonimowych i kiedy powinienem używać nazwanych wyrażeń funkcji. Jaka jest różnica między nimi?

questionAnswers(5)

yourAnswerToTheQuestion