title: What does the Reflect object do in JavaScript?
body: <p>I saw a blank stub on MDN a while ago for the <code>Reflect</code> object in javascript but I can't for the life of me find anything on Google. Today I found this <a href="http://people.mozilla.org/~jorendorff/es6-draft.html#sec-reflect-object">http://people.mozilla.org/~jorendorff/es6-draft.html#sec-reflect-object</a> and it sounds similar to the Proxy object apart from the realm and loader functionality. </p>
  
  <p>Basically, I don't know whether this page I found only explains how to implement Reflect or if I just can't understand its wording. Could someone please explain to me generally what the methods of <code>Reflect</code> do?</p>
  
  <p>For instance, on the page I found says that calling <code>Reflect.apply ( target, thisArgument, argumentsList )</code>
  will "Return the result of calling the [[Call]] internal method of target with arguments thisArgument and args." but how is that any different than just calling <code>target.apply(thisArgument, argumentsList)</code>?</p>
  
  <p>Update:</p>
  
  <p>Thanks to @Blue, I found this page on the wiki
  <a href="http://wiki.ecmascript.org/doku.php?id=harmony:reflect_api&amp;s=reflect">http://wiki.ecmascript.org/doku.php?id=harmony:reflect_api&amp;s=reflect</a>
  which to the best of my knowledge says that the reflect object provides method versions of all the actions that can be trapped by proxies to make forwarding easier. But that seems a little weird to me since I don't see how it's entirely necessary. But it Seems to do a little more than that, particularly the par that says <code>double-lifting</code> but that points to the old proxy spec/</p>