web-dev-qa-db-fra.com

Que fait l'objet Reflect en JavaScript?

J'ai vu un stub vierge sur MDN il y a quelque temps pour l'objet Reflect en javascript mais je ne trouve rien pour la vie de moi sur Google. Aujourd'hui, j'ai trouvé cela http://people.mozilla.org/~jorendorff/es6-draft.html#sec-reflect-object et cela ressemble à l'objet Proxy en dehors du domaine et de la fonctionnalité du chargeur .

Fondamentalement, je ne sais pas si cette page que j'ai trouvée explique uniquement comment implémenter Reflect ou si je ne comprends tout simplement pas sa formulation. Quelqu'un pourrait-il m'expliquer de manière générale ce que font les méthodes de Reflect?

Par exemple, sur la page que j'ai trouvée, dit que l'appel de Reflect.apply ( target, thisArgument, argumentsList ) "Renvoie le résultat de l'appel de la méthode interne de [[Call]] de la cible avec les arguments thisArgument et args." mais en quoi est-ce différent de simplement appeler target.apply(thisArgument, argumentsList)?

Mise à jour:

Grâce à @Blue, j'ai trouvé cette page sur le wiki http://wiki.ecmascript.org/doku.php?id=harmony:reflect_api&s=reflect qui, au meilleur de ma connaissance, indique que le refleter object fournit des versions de méthode de toutes les actions qui peuvent être interceptées par les proxys pour faciliter le transfert. Mais cela me semble un peu bizarre car je ne vois pas en quoi c'est tout à fait nécessaire. Mais il semble faire un peu plus que cela, en particulier le pair qui dit double-lifting mais qui pointe vers l'ancienne spécification de proxy /

71
Jim Jones

En passant par le projet de document trouvé sur le wiki,

http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts

Nous obtenons la ligne sur "un seul objet ordinaire" qu'il clarifie dans le projet. Il a également les définitions de fonction.

Le wiki doit être fiable car vous pouvez trouver un lien vers celui-ci sur le site emcascript

http://www.ecmascript.org/dev.php

J'ai trouvé le premier lien par google et je n'ai pas eu de chance de le trouver en recherchant directement le wiki.

5
Blue

La réponse de GitaarLab est très bonne, mais je voulais souligner que l'objet Reflect a été entièrement documenté par MDN y compris des détails et des exemples pour toutes ses méthodes . Certaines personnes préféreront probablement vérifier cela à la place.

3
rafaelbiten