Operador ternario con múltiples operaciones.

¿Puedo utilizar un operador ternario cuando tengo que realizar más de una operación por caso?

Por ejemplo, ¿puedo usarlo aquí ?:

if (dwelling) { dwelling = dwelling[0].nodeValue; //first operation letterDwelling = dwelling[0].toUpperCase(); //second operation } else { dwelling = ""; letterDwelling = ""; } 

Solo he usado esta syntax que permite una operación posterior:

 dwelling = dwelling ? dwelling[0].nodeValue : ""; 

Aunque le recomiendo encarecidamente que no lo haga por motivos de legibilidad y extensibilidad, podría:

 dwelling ? (dwelling = dwelling[0].nodeValue, letterDwelling=dwelling[0].toUpperCase()) : (dwelling = letterDwelling = ""); 

Para evitar los efectos secundarios utilizando la notación de coma, puede usar funciones de auto-invocación que pueden manejar su código:

 (foo == bar) ? doSomething() : (function(){ // here you can write all your code // and even return something useful })(); 

Sí, ver: Operador condicional (ternario)

 var dwelling = true; (dwelling) ? ( dwelling = 'a', //first operation letterDwelling = 'a' //second operation ) : ( dwelling = 'b', letterDwelling = 'b' ); alert(dwelling); 

ejemplo de jsfiddle