Editar Não se trata de saber se o operador ternário é prejudicial . É sobre se existe ou não um consenso sobre se deve ou não ser usado fora das declarações de atribuição. /Editar
Baseado em um valor booleano, desejo chamar uma de duas funções diferentes (sem valor de retorno). Eu escrevi este bit de javascript:
(condition) ? doThis(arg) : doThat(arg)
Acho que parece mais limpo do que escrever uma declaração if-else:
if(condition) {
doThis(arg);
}
else {
doThat(arg);
}
Meus colegas acreditam firmemente que declarações ternárias devem ser usadas apenas em declarações de atribuição. Não consigo encontrar guias de estilo que discutam isso, provavelmente porque linguagens como Java e C # não permitem isso (seus compiladores exigem que operadores ternários retornem um valor). Isso deve ser considerado um mau uso da declaração ternária? Por quê?