Есть ли смысл разница междуОднострочная, если против && в JavaScript
condition && console.log("this may run");
и
if (condition) console.log("this may run);
Если нет, что является наилучшей практики?
Есть ли смысл разница междуОднострочная, если против && в JavaScript
condition && console.log("this may run");
и
if (condition) console.log("this may run);
Если нет, что является наилучшей практики?
Вы должны использовать второй.
Ваш код должен сказать, что это значит. Это то, что имеется в виду, написав «семантический» код. Если вы пишете условие if, вы должны использовать оператор if
, потому что для этого он существует. Код &&
является семантически логическим и должен использоваться в тех случаях, когда вас интересует логическое значение, полученное в результате логической конъюнкции двух значений.
Написание семантического кода, как предлагали другие ответы, упрощает создание и понимание и поддержку. Что касается этого комментария:
Если кому-то еще может понадобиться его прочитать или сохранить, используйте второй.
Помните, что «вы через полгода» «кто-то еще».
Вот некоторые конкретные причины для использования if
, когда вы имеете в виду if
:
Если вы хотите добавить else
статью, вы можете просто добавить его. Если вы написали a && b
, вам придется переписать его как a ? b : c
.
Предполагая, что вы использовали фигурные скобки, как в if (a) { b; }
, тогда вы можете легко добавить еще один шаг к телу, написав if (a) { b; c; }
. Если вы написали a && b
, вам нужно будет переписать это как a && (b, c)
или что-то подобное; это даже не возможно в некоторых случаях, если c
не может функционировать как выражение.
Некоторые литеры будут (разумно) жаловаться на a && b
.
Обратите внимание, что minifiers обычно преобразует ваш второй пример в первый, так что если обоснование для использования &&
это сохранить байт, они будут сохранены в любом случае с помощью Minifier.
Нет такой разницы, но вы можете сказать, что первая - это сокращенная запись более поздней.
Я предлагаю вам использовать более поздние условия, это делает код более объясним, создавая те же результаты и почти с таким же количеством символов.
Но ** ** есть разница, по определению, в самых разных отношениях, за исключением поведения. –
Если вы только можете сохранить код, используйте тот, который вам нравится.
Если кому-то еще может понадобиться прочитать или сохранить его, используйте второй.
Родственные: * [JavaScript одиночная строка «если» - лучший синтаксис, эта альтернатива?] (Http: // stackoverflow.com/questions/8860654/javascript-single-line-if-statement-best-syntax-this-alternative/8860674 # 8860674) * –
Очень редко используется '&&', если вы не присваиваете выражение чему-либо. – Sulthan