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

IT技术 javascript logging
2021-01-12 21:30:28

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

console.log(uniqueProducts); //
console.log("uniqueProducts:"+uniqueProducts);

结果

[ { country: 'Russia', launches: 32 },
  { country: 'US', launches: 23 },
  { country: 'China', launches: 16 } ]
uniqueProducts:[object Object],[object Object],[object Object]
map

那么为什么显示的是 [object Object] 而不是值呢?就像它改变了附加字符串的类型?

3个回答

你是一个串联objectstring

您可以通过逗号( ,)分隔字符串和对象来控制它们

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

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

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

+连接stringsobject不是字符串。

使用console.dir(obj)要显示的内容object