Hard Copy vs Shallow copy javascript : <p>This may be an old question but I'm really curious about the nature of copying objects by reference as an assignment in javascript. </p>

<p>Meaning that if </p>

<pre><code>var a = {}; 
var b = a;
a.name = "Renato";
console.log(b); 
Object {name: "renato"}
</code></pre>

<p>I'm kind of new to javascript and this really caught my attention to have a shallow copy as a default for Object assignment. I searched that in order to create a hard copy, you have to create a mixin. I was wondering why was this chosen as the default since it's transformation seems to be very implicit. Thanks!</p>
