¿El mal? Mira, son diferentes.
if
es una declaración. (test ? a : b)
es una expresión. No son lo mismo.
Las expresiones existen para expresar valores. Existen declaraciones para realizar acciones. Las expresiones pueden aparecer dentro de las declaraciones, pero no al revés. Por lo tanto, puede usar expresiones ternarias dentro de otras expresiones, como para términos en una suma, o para argumentos de un método, y así sucesivamente.
No tiene que tener que hacerlo , pero puede hacerlo si quiere .
No hay nada de malo en eso.
Algunas personas podrían decir que eso es malo, pero esa es su opinión.
Un valor de una expresión ternaria es que te hace manejar tanto los casos verdaderos como los falsos. Las declaraciones de if
no lo hacen.
Si le preocupa la legibilidad, puede formatearlos de manera legible.
De alguna manera, el "mal" se metió en el vocabulario de programación. Me encantaría saber quién lo dejó caer primero. (En realidad, tengo un sospechoso, él está en el MIT).
Preferiría que tuviéramos razones objetivas para los juicios de valor en este campo, no solo los gustos y los insultos de las personas.