2012-05-28 9 views

Respuesta

6

Si bien se considera un abusage, puede hacer lo siguiente:

var obj = newObject || defaultObject; 

Tenga en cuenta que si newObject es de cualquier valor Falsy (como 0 o una cadena vacía), se devolverá defaultObject como el valor de obj. Con esto en mente, se puede preferir usar el operador ternario o un enunciado if estándar.

var obj = ("undefined" === typeof defaultObject) ? defaultObject : newObject ; 
+0

Este es ligeramente * * diferente, sin embargo, ya que dará lugar a 'defaultObject' de * cualquier * valor falso-y de 'newObject'. Es decir, no hay equivalente "directo", por lo que el ternario ('??') con una igualdad explícita podría capturar un intento dado mejor ... –

+0

@pst Grandes puntos. – Sampson

+0

¿falso significa tipo booleano? –

Cuestiones relacionadas