I have an object, x. I'd like to copy it as object y, such that changes to y do not modify x. I realized that copying objects derived from built-in JavaScript objects will result in extra, unwanted properties. This isn't a problem since I'm copying one of my own, literal-constructed objects.
How do I correctly clone a JavaScript object?