2

Например:Должны ли вы использовать именованные функции при разработке библиотеки JavaScript?

module.exports = { 
    myLibraryFunction: function myLibraryFunction() { 
    ... 
    } 
} 

Недостаток очевиден. Это не очень DRY, что означает, что он может легко выйти из синхронизации, если вы не будете осторожны. Это также делает ваш код немного более подробным.

Каковы преимущества? Стоит ли компромисс?

+0

Основными преимуществами возврата названных функций являются то, что их легче отлаживать. Если вы их не назовете, по моему опыту, отладчик показывает, что в анонимной функции произошла ошибка. Тем не менее это может сильно зависеть от того, как вы обрабатываете ошибки в своем модуле. – Eclecticist

ответ

1

Я использую этот подход при написании библиотек JS. Самое большое преимущество заключается в том, что такие инструменты, как отладчик Chrome, будут иметь определенное имя для вашей функции, а не «анонимное» или какое-то имя, составленное из пути функции, на основе имен переменных, содержащих эту функцию. Если, однако, вы не заботитесь о именах методов при отладке, то это действительно зависит от вкуса. Если бы вы минимизировали полученный JS-код, то именованные элементы вроде бы все равно были бы лишены.

Что касается того, насколько сухим этот подход, считайте, что повторяющиеся имена происходят прямо рядом друг с другом. Скоростная копия & - все, что нужно, чтобы синхронизировать их. Было бы неплохо, если бы JS включал функцию, которая заставляет функцию быть названной в соответствии с переменной, которой она была назначена в момент создания (или, по крайней мере, возможностью динамически переназначить имя функции). К сожалению, однако, это единственный способ, которым JS позволяет нам называть эти анонимные функции.

 Смежные вопросы

  • Нет связанных вопросов^_^