В целом, вы должны использовать троичные операторы только тогда, когда результирующий оператор короткий. В противном случае напишите обычный оператор if. Назначение тернарного оператора - сделать ваш код более кратким и читабельным. Перемещение сложного оператора if в тернарный оператор противоречит этой цели.
Хорошо ли использовать тернарный оператор?
Тернарные операторы неплохи. Тем не менее, многие люди предпочитают не использовать их, потому что их может быть трудно проанализировать с первого взгляда. Выразительность, которую вы получаете от использования условных выражений if/else, в основном такая же, как и у троичных, но это обеспечивает лучшую читабельность.
Являются ли тернарные операторы плохой практикой?
Условный тернарный оператор определенно можно использовать слишком часто, и некоторые находят его совершенно нечитаемым. Тем не менее, я считаю, что в большинстве ситуаций может быть очень ясно, что ожидается логическое выражение, при условии, что его цель ясна.
Тройная лучше, чем if?
Ternary быстрее then if/else, пока не требуется никаких дополнительных вычислений для преобразования логики в троичную. Когда это просто троичная операция, она также имеет лучшую читабельность. Оператор if only быстрее, чем оператор if/else, поэтому, если логика не требует оператора else, используйте его.
Тернарный более эффективен, чем if else?
Тернарный оператор не долженt отличаться по производительности от хорошо написанного эквивалента оператора if / else… они вполне могут разрешитьк одному и тому же представлению в абстрактном синтаксическом дереве, подвергаться той же оптимизации и т. д.