简体   繁体   中英

JS log object why is showing [object Object]

In JS, if I log a string to the console it is not showing properly ?

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

result

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

So why is [object Object] shown instead of the value? It is like it changes type with string appended?

You are concatenating an object to string

You can console a string and an object by separating it by comma( , )

you can console.log("uniqueProducts:", uniqueProducts );

You are trying to concatenate an object with a string. You can fix it one of two ways:

  1. Remove + from the log call:
console.log("uniqueProducts:", uniqueProducts);
  1. You can use JSON.stringify to print the object as JSON:
console.log("uniqueProducts:", JSON.stringify(uniqueProducts));

+ concatenates strings but object is not a string.

Use console.dir(obj) to display the content of the object .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM