Deep-copying in JavaScript
JavaScript is absolutely <i>not</i> pass by reference.<p><pre><code>    let a = 1;
    
    function foo( a ) {
      a = 2;
    }
    
    foo( a );
    
    console.log( a ); // 1</code></pre>