title: vue.js does setter/getter happen for props too?
body: <p>Let's say I have a parent component where I initialize an array variable in data property of Vue. Then I pushed 10,000 object elements into this array. This means that each property of each object of this array will have setter/getter that Vue made for us. </p>
  
  <p>Now, let's say I pass this array to child component as a prop. </p>
  
  <p>Question 1) </p>
  
  <p>Child component</p>
  
  <pre><code>props:{
    passedArray
  },
  
  data(){
    return { 
      childArray:[]
    }
  }
  created(){
     this.childArray = passedArray
  }
  </code></pre>
  
  <p>Now, as I made new array and get it equal to prop array, will vue make new setters/getters for each property of each object of childArray? because when vue sees array equality and array is described in data, it makes setters/getters for everyone. <strong>If it won't make setter/getter, then does it check if passed array's objects have setter/getter already set?</strong> </p>
  
  <p><strong>Does this mean that this child component's code won't grow Memory (RAM) At all?</strong> </p>
  
  <p>2) what if I make something like this in Child component</p>
  
  <pre><code>created(){
     this.childArray = [].concat(passedArray); 
  }
  </code></pre>
  
  <p><strong>what about now? will it make new setters/getters or won't?</strong></p>
  
  <p><strong>this will grow RAM a little bit as childArray now have to store references of objects from passedArray. and in previous case, it just has to make it equal to passed array. Right?</strong></p>
  
  <p>Question 3)</p>
  
  <p>In my opinion, it doesn't create new setters/getters at all for props data if passed props is an object or array, but I saw initProps in vue source code, and what it does is it still creates setter/getter for each prop options. Is that right?</p>