Тернарный (условный) оператор и стиль

Если вы в первую очередь ненавидите тернарный условный оператор, не нужно отвечать;)

Я обычно вижу, что он используется в тандеме с выражением присваивания, например:

var foo = (some_condition) ? then_code : else_code;

Однако я бы хотел использовать его для замены простого кода вроде:

if(some_condition) {
  do_something_simple;
} else {
  do_something_else;
}

и вместо этого сделать:

(some_condition) ? do_something_simple : do_something_else;

Я, скорее всего, буду делать это в JavaScript. В приведенном выше примере он возвращает undefined, поэтому присвоение не требуется. Мне нравится сэкономленное место, но интересно, что люди думают об этом типе использования, поскольку, опять же, я обычно вижу только тернарный, используемый с назначением.

РЕДАКТИРОВАТЬ: Я видел ответы, намекающие на «сокрытие намерения». Хотя классически используется в выражениях, как это больше скрывает намерение, чем использование в выражении? Особенно в динамическом языке, где можно увидеть использование тернарных операторов повсюду?

5
задан Jonathan Leffler 6 November 2010 в 16:55
поделиться