Если вы в первую очередь ненавидите тернарный условный оператор, не нужно отвечать;)
Я обычно вижу, что он используется в тандеме с выражением присваивания, например:
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, поэтому присвоение не требуется. Мне нравится сэкономленное место, но интересно, что люди думают об этом типе использования, поскольку, опять же, я обычно вижу только тернарный, используемый с назначением.
РЕДАКТИРОВАТЬ: Я видел ответы, намекающие на «сокрытие намерения». Хотя классически используется в выражениях, как это больше скрывает намерение, чем использование в выражении? Особенно в динамическом языке, где можно увидеть использование тернарных операторов повсюду?