¿Hay alguna razón específica por la que JavaScript devuelve [object Object] como valor de retorno del método valueOf()?¿Por qué JavaScript devuelve [Object Object] de valueOf() en lugar de [object]?
¿Por qué no [objeto] pero [object Object]?
¿Hay alguna razón específica por la que JavaScript devuelve [object Object] como valor de retorno del método valueOf()?¿Por qué JavaScript devuelve [Object Object] de valueOf() en lugar de [object]?
¿Por qué no [objeto] pero [object Object]?
La segunda Object
es la interfaz que implementa el objeto. Por ejemplo, document.body.valueOf()
devolvería [object HTMLBodyElement]
.
+1 Buena respuesta. Además, intenta simplemente 'alert (valueOf)' obtienes '[object global]' –
¿Pero hay algún caso de que el primero no sea 'objeto' sino algo más, ya que todo es objeto en JavaScript? – pencilCake
@pencilCake Buena pregunta. Por defecto no (es fácil ver cómo valueOf() se comporta con cadenas, funciones, matrices, etc.), pero puede volver a escribir valueOf. 'String.prototype.valueOf = function() {return" [foo Bar] "; }; 'hace que' "qux" .valueOf() 'devuelva' [foo Bar] '. – duri
Buena pregunta señor. –