title: Javascript console printing not working when assigning splice of array to itself
body: <p>When I do this:</p>
  
  <pre><code>var testArray  = ["a","b","c"];
  console.log(testArray);
  console.log("size:" + testArray.length);
  </code></pre>
  
  <p>I this this printed in my console:</p>
  
  <pre><code>["a", "b", "c"]
  size:3 
  </code></pre>
  
  <p>Which is good. But now when I start splicing with this:</p>
  
  <pre><code>var testArray  = ["a","b","c"];
  console.log(testArray);
  console.log("size:" + testArray.length);
  testArray = testArray.splice(0,1);
  </code></pre>
  
  <p>This happens to show in my console:</p>
  
  <pre><code>["b", "c", undefined × 1]
  size:3 
  </code></pre>
  
  <p>So first question is why does it mess up my printing of the array even though the splice was after the printing? The size is shown correctly but the "a" is gone and I get an undefined at the end. </p>
  
  <p>So what I wanted to do was to remove the first item in the array. Basically a shift. So I do this:</p>
  
  <pre><code>var testArray  = ["a","b","c"];
  console.log(testArray);
  console.log("size:" + testArray.length);
  testArray = testArray.splice(0,1);
  console.log(testArray);
  console.log("size:" + testArray.length);
  </code></pre>
  
  <p>And this is what gets outputted:</p>
  
  <pre><code>["b", "c", undefined × 1]
  size:3
  ["a"]
  size:1 
  </code></pre>
  
  <p>Not only did the size decrease by 2, it deleted everything but the "a". What is going on?</p>