В каких случаях function declaration может не иметь имени?

Когда function declaration не возвращается, то запись без имени вызывает ошибку - Function statements require a function name.

function func(a) {
  console.log(a);
  function () { //Function statements require a function name
    a++;
  }
}

Но такой код ошибки не вызывает:

function func(a) {
  console.log(a);
  return function () { //нет ошибки
    a++;
  }
}

Выходит, что function declaration может быть без имени только в том случае, если функция возвращается?


Ответы (2 шт):

Автор решения: Qwertiy

Ни в каком. Function declaration всегда с именем.

→ Ссылка
Автор решения: Grundy

В соответствии со спецификацией имя у Function declaration может отсутствовать при дефолтном экспорте.

Например:

export default function () {
}
→ Ссылка