JS日志对象为何显示[object Object]

man*_*urt 2 javascript logging

在JS中,如果我将字符串记录到控制台,则显示不正确?

console.log(uniqueProducts); //
console.log("uniqueProducts:"+uniqueProducts);
Run Code Online (Sandbox Code Playgroud)

结果

[ { country: 'Russia', launches: 32 },
  { country: 'US', launches: 23 },
  { country: 'China', launches: 16 } ]
uniqueProducts:[object Object],[object Object],[object Object]
map
Run Code Online (Sandbox Code Playgroud)

那么为什么显示[object Object]而不是值呢?就像更改类型并附加字符串一样吗?

Saj*_*ran 8

您正在尝试将一个对象与一个字符串连接起来。您可以通过以下两种方式之一修复它:

  1. +从日志调用中删除:
console.log("uniqueProducts:", uniqueProducts);
Run Code Online (Sandbox Code Playgroud)
  1. 您可以使用JSON.stringify将对象打印为 JSON:
console.log("uniqueProducts:", JSON.stringify(uniqueProducts));
Run Code Online (Sandbox Code Playgroud)


Edd*_*die 6

你是一个串联objectstring

您可以用逗号(,)分隔来控制字符串和对象

您可以 console.log("uniqueProducts:", uniqueProducts );