12

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?

3
  • 2
    You are concatenating an object to string Commented Dec 16, 2017 at 4:58
  • 1
    And concatenating any to a string converts that into a string. An Object when converted to a string is [object Object], so you first have to parse the object itself, Commented Dec 16, 2017 at 5:01
  • Related: How can I display a JavaScript object? Commented Mar 1, 2021 at 6:59

3 Answers 3

22

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

Sign up to request clarification or add additional context in comments.

Comments

10

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

Comments

4

+ concatenates strings but object is not a string.

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

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.