Es una declaración válida.
Debido a que los motores de JavaScript tienen lo que se llama ASI (Punto y coma automática de inserción) que inserta un punto y coma si es necesario en las líneas de devoluciones. El "si es necesario" es ambiguo; a veces funciona y otras no. Ver the rules.
Por lo tanto, como se ha dicho en las otras respuestas:
return
{
};
// Is read by the JavaScript engine, after ASI, as:
return; // returns undefined
{ // so this is not even executed
};
así que no es recomendable para return
declaraciones.
Sin embargo, si sus directrices recomiendan el estilo Allman para las declaraciones de función, que está perfectamente bien. Sé que algunos sí.
Hay más declaraciones afectadas por ASI, verifique la especificación. enlace que @Esailija publicó o echó un vistazo a [esta respuesta] (http://stackoverflow.com/questions/2846283/what-are-the-rules-for-javascripts-automatic-semicolon-insertion/2846298#2846298), Resumí las reglas de ASI allí ... Ah, y solo por diversión, * intento * de pasar la siguiente prueba: [Prueba de ASI] (http://asi.qfox.nl/) – CMS
Ver también [¿El estilo de bloque es realmente este? importante?] (http://stackoverflow.com/q/3004496/1048572) – Bergi