@rimlin

Что лучше: передавать функцию или ее результат в аргумент?

Интересует вопрос, что лучше передавать в качестве аргумента функции саму функцию или ее результат? Или это одно и тоже?
Пример:

a = someFunc(b)
secFunc(a)

или

secFunc(someFunc(b))
  • Вопрос задан
  • 2278 просмотров
Решения вопроса 1
С точки зрения интерпретатора эти конструкции практически идентичны, единственное, в первом случае в scope создается дополнительная ссылка на результат функции.

Так что какой вариант использовать, в данном случае - решение стилистическое:
с одной стороны есть мнение, что если результат вычислений используется лишь в одном месте, то не стоит создавать на него ссылку,
с другой - сворачивание кода в бессылочную конструкцию приведет к его полной нечитабельности
funcA(funcB(funcC(funcD(5))));
Всего должно быть в меру.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@vasIvas
Если someFunc что-то возвращает, то функция secFunc полочит возвращенное значение,
иначе, ссылку на функцию.
Ответ написан
Комментировать
mlnkv
@mlnkv
JavaScript Developer
это одно и тоже
Ответ написан
Комментировать
keksmen
@keksmen
Just a programmer
Это одинаковая запись т.к. при выполнении
secFunc(someFunc(b))
сначала будет выполнена someFunc, а затем результат её выполнения будет передан в вызов secFunc.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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