根据此文档,
每个对象的字符串表示按列出和输出的顺序附加在一起.
也作为答案
+ x将对象x强制转换为字符串,这只是[object Object]:
所以,我的问题是
如果我做
str = new String("hello")
console.log(str) //prints the string object but not 'hello'
console.log(""+str) //prints "hello"
Run Code Online (Sandbox Code Playgroud)
因此,在第一种情况下,它只是打印对象(不调用该toString()方法).
但在第二种情况下,它不是强制而是简单地打印原始值.为什么会这样?
console.log调用哪个方法来打印对象?
请注意 - 这不是这个问题的重复.