Можно ли в JS задавать имя для named function expression таким же, как и имя переменной?

Доброго вечера.
Не будет ли никаких побочных эффектов, если я повсеместно (естественно, при реальной необходимости) буду делать так?
var func = function func() {
    //
}

Прав ли я буду, если скажу, что в области видимости данной функции func будет ссылаться на ее саму, т.е. будет вести себя как named function expression; а в глобальной области видимости (на уровень выше) func будет указывать на переменную, и, таким образом, эти два имени никогда не вступят в конфликт?

Заранее спасибо.
  • Вопрос задан
  • 154 просмотра
Решения вопроса 1
let inc = x => x+1;
Перейдёт в
var inc = function inc(x) {
  return x + 1;
};

Конфликта не будет
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Имя функции у named function expression доступно только внутри функции
то есть, даже если вы присвоите внешней переменной с таким же именем другое значение изнутри функции это имя будет указывать на данную функцию, это нужно учитывать!
Никаких других конфликтов не будет, так как var func будет во внешней области видимости, а function func во внутренней
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы