Я думаю, что вы хотели спросить следующее
// Why should I use
if (x) {
do();
}
// instead of
x && do();
или
// Why should I use
if (x) {
do();
} else {
dont();
}
//instead of
x ? do() : dont()
Поскольку они написаны, нет никакой разницы в выводе.Мне не нравится использовать троичный или оператор && в этих случаях из-за семантики использования троичного и &&.Тернар возвращает значение, которое вы не используете, как и выражение &&.Поэтому я предпочел бы использовать способ, которым язык предназначен для использования операторов.
Тем не менее, я люблю использовать && для проверки на ноль
var val = obj && obj.getValue();
Обратите внимание, что в этом случае мы используемвозвращаемое значение выражения