Si abro la consola y entro ...¿Por qué la consola no usa el método `toString` del objeto ingresado?
var f=function(a){
this.toString=function(){
return "-->"+a;
}
},i=new f(5);
i;
... se vuelve ({toString:(function() {return "-->" + a;})})
.
Pero si entro ...
var f=function(a){
this.toString=function(){
return "-->"+a;
}
},i=new f(5);
alert(i);
... Alerta "-->5"
no me importa mucho, pero yo preferiría que el primer código para volver "-->5"
. ¿Hay alguna manera de hacerlo, o es intencional que la consola no use toString
?
i es un objeto y la consola trata de mostrar los elementos tal como son en realidad. Alert no puede mostrar objetos, por lo que llamará a la función toString. La depuración sería más difícil si los objetos siempre se convirtieran en cadenas en la consola. – temporalslide