title: What is the difference between Proxy constructor and Reflect?
body: <p>Is there any significant difference between <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect" rel="noreferrer">Reflect</a> and <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy" rel="noreferrer">Proxy</a>?</p>
  
  <p>From what is documented, it seems that they have pretty much the same capabilities, apart from:</p>
  
  <ul>
  <li>Reflect being capable of specifying only one trap at the time.</li>
  <li>Proxy being <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/revocable" rel="noreferrer">revocable</a>.</li>
  <li>Proxy being a constructor.</li>
  </ul>
  
  <p>If the list above sums up all the differences, then what is the rationale for having both?</p>