JSON.parse(JSON.stringify(x)) Purpose?
javascript, json
Solution
It's a way of cloning an object, so that you get a complete copy that is unique but has the same properties as the cloned object.
var defaultParams = { a : 'b' };
var params = JSON.parse(JSON.stringify(defaultParams));
console.log( params.a ); // b
console.log( defaultParams.a ); // b
console.log( params === defaultParams ); // false
The above outputs `false` because even though both objects have the `a` property, with the value `b`, there are different objects that are independent of each other (they don't refer to the same reference).
The JSON method will only work with basic properties - no functions or methods.
Problem
While I was working on a project, I came across this snippet of code: ``` var params = JSON.parse(JSON.stringify(defaultParams)); ``` Does this code actually do anything?