为什么控制台不使用输入对象的`toString`方法?

Ori*_*iol 6 javascript console

如果我打开控制台并输入...

var f=function(a){
    this.toString=function(){
        return "-->"+a;
    }
},i=new f(5);
i;
Run Code Online (Sandbox Code Playgroud)

......它回来了({toString:(function () {return "-->" + a;})}).

但如果我进入......

var f=function(a){
    this.toString=function(){
        return "-->"+a;
    }
},i=new f(5);
alert(i);
Run Code Online (Sandbox Code Playgroud)

......警报 "-->5"

我并不重要,但我更喜欢第一个代码返回"-->5".有没有办法做到这一点,还是有意的是控制台不使用toString

Jon*_*nna 4

它旨在用于调试使用,因此告诉您有关对象的所有信息可能会很有用。

毕竟,如果您想要调用的结果,toString()您会使用i.toString()或来询问它"" + i,但如果这是默认行为,则无法获得更深入的表示。