Есть ли значимая разница между
condition && console.log("this may run");
и
if (condition) console.log("this may run);
Если нет, то это лучший способ?
Есть ли значимая разница между
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.
Нет никакой разницы как таковой, но вы можете сказать, что первая - это сокращенное обозначение более позднего.
Я предлагаю вам использовать более позднее условие, это делает код более объясним, создавая те же результаты и почти с таким же количеством символов.
Если вы только можете сохранить код, используйте тот, который вам нравится.
Если кому-то еще может понадобиться прочитать или сохранить его, используйте второй.