title: Object.assign does not copy correctly
body: <p>I'm working with VueJS.</p>
  
  <p>I have a Method that receives a Object as argument.</p>
  
  <p>Then I clone this Object with <code>Object.assign()</code>.</p>
  
  <pre><code>Component.vue
  
  export default {
    // ...
    methods: {
      // ...
      activateEditMode (item) {
        this.editItemIndex = this.travelItinerary.indexOf(item)
        this.editItem = Object.assign({}, item)
        // ...
      }
    }
  }
  </code></pre>
  
  <p>The original Object at <code>this.roteiroCompleto[0]</code>:</p>
  
  <p><a href="https://i.stack.imgur.com/7md2U.png" rel="noreferrer"><img src="https://i.stack.imgur.com/7md2U.png" alt="enter image description here"></a></p>
  
  <p>But when I edit the clone Object <code>this.itemEditado</code>:</p>
  
  <p><a href="https://i.stack.imgur.com/i9TP3.png" rel="noreferrer"><img src="https://i.stack.imgur.com/i9TP3.png" alt="enter image description here"></a></p>
  
  <p>the original Object <code>this.roteiroCompleto[0]</code> changes too.</p>
  
  <p><a href="https://i.stack.imgur.com/H1sHB.png" rel="noreferrer"><img src="https://i.stack.imgur.com/H1sHB.png" alt="enter image description here"></a></p>
  
  <p>I tried to copy each key and value, copy only the Array with <code>.slice()</code>, <code>.map(a=&gt;a)</code>, and nothing works. The two objects keep binding.</p>
  
  <p>When I <code>console.log(this.itemEditado)</code>, I get this:</p>
  
  <p><a href="https://i.stack.imgur.com/DHBbl.png" rel="noreferrer"><img src="https://i.stack.imgur.com/DHBbl.png" alt="enter image description here"></a></p>
  
  <p>The strange thing is, in another Vue Component, I use the same strategy, and it works.</p>