Подтвердить что ты не робот

Однострочный, если vs && в JavaScript

Есть ли значимая разница между

condition && console.log("this may run");

и

if (condition) console.log("this may run);

Если нет, то это лучший способ?

4b9b3361

Ответ 1

Вы должны использовать второй.

Ваш код должен сказать, что это значит. Это то, что имеется в виду, написав "семантический" код. Если вы пишете условие 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.

Ответ 2

Нет никакой разницы как таковой, но вы можете сказать, что первая - это сокращенное обозначение более позднего.

Я предлагаю вам использовать более позднее условие, это делает код более объясним, создавая те же результаты и почти с таким же количеством символов.

Ответ 3

Если вы только можете сохранить код, используйте тот, который вам нравится.

Если кому-то еще может понадобиться прочитать или сохранить его, используйте второй.