var usuario1 = "Franco"; // UID del usuario 1 var usuario2 = "Eusthace"; // UID del usuario 2
var roomName = 'chat_'+(usuario1<usuario2 ? usuario1+' '+usuario2 : usuario2+' '+usuario1);
console.log(usuario1+', '+usuario2+' => '+ nombre de la habitación);
usuario1 = "Eusthace"; usuario2 = "Francisco";
var roomName = 'chat_'+(usuario1<usuario2 ? usuario1+' '+usuario2 : usuario2+' '+usuario1);
console.log(usuario1+', '+usuario2+' => '+ nombre de la habitación);
var roomName = 'chat_'+(user1<user2 ? user1+''+user2 : user2+''+user1);
podría traducirse a
var roomName = 'chat${user1.compareTo(user2) < 0 ? '$user1$user2' : '$user2$user1'}';
Puede ser que me equivoque con el < ... Si es así, > es correcto. :-)
Bien, breve explicación: x.compareTo(y) es un método de clasificación en muchas clases (incluyendo String). Devuelve -1 si x debe ordenarse antes que y, +1 si debe ordenarse después de y, y 0 si ambos suelen clasificarse por igual.
Las cadenas se ordenan alfabéticamente (aunque no estoy seguro acerca de los caracteres especiales como las diéresis alemanas), los objetos DateTime se ordenan como "antes antes de después", y así sucesivamente. En sus propias clases, puede definir su propia lógica de clasificación (y tiene sentido usar también un método compareTo para ello).