title: Is the three-dot syntax used for spreading props in React SEPARATE to the spread operator within a JavaScript expression context?
body: <p>I am familiar with JavaScript spread syntax:</p>
  
  <pre><code>obj1 = {x: 1, y: 2, z: 3 }
  obj2 = {...obj1}
  console.log(JSON.stringify(obj1) == JSON.stringify(obj2)) // true
  </code></pre>
  
  <p>In React's JSX syntax I often see what looks like spread syntax:</p>
  
  <pre><code>props = {x: 1, y: 2, z: 3}
  &lt;SomeComponent {...props} /&gt;
  </code></pre>
  
  <p>Which I know translates into roughly</p>
  
  <pre><code>SomeComponent({x: 1, y: 2: z: 3})
  </code></pre>
  
  <p>Which is essentially props drilling. HOWEVER, I also know that JSX allows for specifying JavaScript expressions in curly brackets. But NOT, apparently, as property specifications? It seems then that the mechanism for props drilling (i.e. specifying curly brackets in a JSX element definition - <code>&lt;X {...props} /&gt;</code> vs <code>&lt;X something={js expression} /&gt;</code>), although it looks like a regular spread operation, it is actually not?</p>
  
  <p>Writing this out I'm more confident that this is the case... But I would like feedback if I'm wrong!</p>