You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在控制台格式化日志消息,使其中对象独立展示?

为什么模板字符串里直接拼接对象会显示[object Object]?

你观察得特别仔细!这其实是JavaScript里对象转字符串的默认行为在搞鬼,咱们一步步拆解清楚:

两种console.log的本质区别

  • 当直接执行console.log(obj)时,浏览器或Node.js的控制台会对对象做特殊处理——它会用类JSON的格式化语法展示对象结构,这是控制台专为开发者提供的便利功能,方便咱们直观查看内容。
  • 但如果用模板字符串${obj}拼接对象,JavaScript会自动调用对象的toString()方法来完成转字符串操作。而普通JS对象的默认toString()方法只会返回"[object Object]",所以你就看到了这个“没营养”的结果。

完美解决方案:用JSON.stringify()

正如你已经尝试的,JSON.stringify(obj)会把对象序列化成标准的JSON字符串,这样在模板字符串里拼接时,就能完整展示对象的结构了。

如果想要输出的JSON更易读,还可以加上缩进参数优化格式:

const obj = [{ test1: 'data', test2: 'data', test3: 'data' }];
console.log(`JSON Data

${JSON.stringify(obj, null, 2)}`);

此时控制台会输出带缩进的格式化内容:

JSON Data

[
  {
    "test1": "data",
    "test2": "data",
    "test3": "data"
  }
]

内容的提问来源于stack exchange,提问作者user8826104

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:35:46