A js object first performs JSON.stringify and then JSON.parse. Why is the object not the same as the original one?

  node.js, question

For example, this is the result of execution in node:


Or what does this mean? There is a saying is to remove attribute references? Then the question arises, what is attribute reference?

It’s definitely not equal. json parse is equivalent to a new object.
Whether the judgment of objects is equal or not needs to be compared by traversing the attributes, even if the host writes like this, it is not equal.

var a={};  var b = {};   a==b;   // false;

For example, json.stringfy and then parse is also an option when we need to clone an object.