Есть ли значимая разница между
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.
Нет никакой разницы как таковой, но вы можете сказать, что первая - это сокращенное обозначение более позднего.
Я предлагаю вам использовать более позднее условие, это делает код более объясним, создавая те же результаты и почти с таким же количеством символов.
Если вы только можете сохранить код, используйте тот, который вам нравится.
Если кому-то еще может понадобиться прочитать или сохранить его, используйте второй.