Matt Welander
Matt Welander

Reputation: 8548

chrome debugger inconsistency in object data

I don't understand how to interpret this debug data. I do a console.log of my object, and on the summary-line that appears in the console I am shown windows: array[0] but if I expand the object, I am shown that windows is an array of 2 items.

Which is the correct one?

My code seem to run on the summary version, ie. windows array being empty.

Does anyone know what my problem is - why is the object presented in an inconsistent way?

enter image description here

Upvotes: 1

Views: 47

Answers (1)

Mike Cluck
Mike Cluck

Reputation: 32511

The object is being mutated between when you print it and when you view it. When it's initially logged, it's empty but by the time you open it, 2 items have been added.

var obj = { arr: [] };
console.log(obj); // Will say { arr: Array[0] }
obj.arr.push(1); // Open it up in the console after this

Basically, the dev tools print a string that's representative of it's state at the time of the log but it stores a reference to the object in the console itself.

Upvotes: 1

Related Questions