manuelBetancurt
manuelBetancurt

Reputation: 16138

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?

Upvotes: 12

Views: 12544

Answers (3)

Sajeetharan
Sajeetharan

Reputation: 222582

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));

Upvotes: 10

MJ Montes
MJ Montes

Reputation: 3376

+ concatenates strings but object is not a string.

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

Upvotes: 4

Eddie
Eddie

Reputation: 26844

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 );

Upvotes: 22

Related Questions