Функция fnc()
возвращает либо элемент DOM, либо null. Это вызвано из другой функции, где, когда возвращается null, больше нечего делать.Возврат с оператором 'if' или логическим ИЛИ в Javascript
утратившим всегда будет оценивать как ложное и объекта, как верно следующее будет работать:
var parentResult = fnc(arg) || return false;
var childResult = fnc(parentResult.id) || return false;
Но я никогда не видел такого рода синтаксис, используемый в Javascript, вместо этого он всегда, кажется, записывается в виде (дать или принять форматирование var
ключевых слов и явного === null
в состоянии):
var parentResult = fnc(arg);
if(!parentResult) { return false };
var childResult = fnc(parentResult.id);
if(!childResult) { return false };
Для меня бывшего является опрятнее и более читаемым в результате, но должна быть причиной, не используются.
Таким образом, можно полагаться на возвращаемое значение fnc()
, есть ли веская причина не использовать логические ИЛИ для прекращения функции, а не для отдельных операторов if
?
Для меня if был бы более читабельным в этом примере. Новичок (я не знаю, будет ли этот код рассматриваться новичками/стартерами) не будет понимать этот код. –
Я чувствую, что это всего лишь стрессовая тема, но какой JavaScript вы читали? Если вы посмотрите на исходный код некоторых библиотек, это повсюду. –
Еще более «умный» способ: 'parentResult = fnc (arg) && childResult = fnc (parentResult.id) || return false; ' Но в целом этот стиль нахмурился. –