From bf8e099b9c8b3c60d60b3712b4fc97b052c39887 Mon Sep 17 00:00:00 2001 From: julieng Date: Tue, 3 Aug 2021 08:03:23 +0200 Subject: convert content to md --- .../global_objects/reflect/apply/index.md | 101 ++++---- .../comparing_reflect_and_object_methods/index.md | 261 ++++++++++++++------- .../global_objects/reflect/construct/index.md | 133 +++++------ .../global_objects/reflect/defineproperty/index.md | 107 ++++----- .../global_objects/reflect/deleteproperty/index.md | 91 +++---- .../reference/global_objects/reflect/get/index.md | 95 +++----- .../reflect/getownpropertydescriptor/index.md | 103 ++++---- .../global_objects/reflect/getprototypeof/index.md | 96 +++----- .../reference/global_objects/reflect/has/index.md | 91 +++---- .../reference/global_objects/reflect/index.md | 103 ++++---- .../global_objects/reflect/isextensible/index.md | 100 ++++---- .../global_objects/reflect/ownkeys/index.md | 93 +++----- .../reflect/preventextensions/index.md | 100 ++++---- .../reference/global_objects/reflect/set/index.md | 101 ++++---- .../global_objects/reflect/setprototypeof/index.md | 93 +++----- 15 files changed, 757 insertions(+), 911 deletions(-) (limited to 'files/fr/web/javascript/reference/global_objects/reflect') diff --git a/files/fr/web/javascript/reference/global_objects/reflect/apply/index.md b/files/fr/web/javascript/reference/global_objects/reflect/apply/index.md index e341856408..d8af6551c3 100644 --- a/files/fr/web/javascript/reference/global_objects/reflect/apply/index.md +++ b/files/fr/web/javascript/reference/global_objects/reflect/apply/index.md @@ -10,47 +10,47 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/apply original_slug: Web/JavaScript/Reference/Objets_globaux/Reflect/apply --- -
{{JSRef}}
+{{JSRef}} -

La méthode statique Reflect.apply() permet d'appeler une fonction cible avec des arguments donnés.

+La méthode statique **`Reflect`\*\***`.apply()`\*\* permet d'appeler une fonction cible avec des arguments donnés. -
{{EmbedInteractiveExample("pages/js/reflect-apply.html")}}
+{{EmbedInteractiveExample("pages/js/reflect-apply.html")}} -

Syntaxe

+## Syntaxe -
Reflect.apply(cible, argumentThis, listeArguments)
-
+ Reflect.apply(cible, argumentThis, listeArguments) -

Paramètres

+### Paramètres -
-
cible
-
La fonction cible à appeler.
-
argumentThis
-
La valeur fournie pour this lors de l'appel à cible.
-
listeArguments
-
Un objet semblable à un tableau qui définit les arguments à passer à cible. S'il vaut {{jsxref("null")}} ou {{jsxref("undefined")}}, aucun argument ne sera passé.
-
+- `cible` + - : La fonction cible à appeler. +- `argumentThis` + - : La valeur fournie pour `this` lors de l'appel à _`cible`_. +- `listeArguments` + - : Un objet semblable à un tableau qui définit les arguments à passer à _`cible`_. S'il vaut {{jsxref("null")}} ou {{jsxref("undefined")}}, aucun argument ne sera passé. -

Valeur de retour

+### Valeur de retour -

Le résultat de l'appel de la fonction cible indiquée avec la valeur this et les arguments indiqués.

+Le résultat de l'appel de la fonction cible indiquée avec la valeur `this` et les arguments indiqués. -

Exceptions levées

+### Exceptions levées -

Une exception {{jsxref("TypeError")}}, si cible ne peut pas être appelée.

+Une exception {{jsxref("TypeError")}}, si _cible_ ne peut pas être appelée. -

Description

+## Description -

Avec ES5, on utilise généralement {{jsxref("Function.prototype.apply()")}} pour appeler une fonction avec une valeur this donnée et des arguments donnés.

+Avec ES5, on utilise généralement {{jsxref("Function.prototype.apply()")}} pour appeler une fonction avec une valeur `this` donnée et des arguments donnés. -
Function.prototype.apply.call(Math.floor, undefined, [1.75]);
+```js +Function.prototype.apply.call(Math.floor, undefined, [1.75]); +``` -

Reflect.apply permet de rendre cela plus concis et facile à comprendre.

+`Reflect.apply` permet de rendre cela plus concis et facile à comprendre. -

Exemples

+## Exemples -
Reflect.apply(Math.floor, undefined, [1.75]);
+```js
+Reflect.apply(Math.floor, undefined, [1.75]);
 // 1;
 
 Reflect.apply(String.fromCharCode, undefined, [104, 101, 108, 108, 111]);
@@ -61,37 +61,20 @@ Reflect.apply(RegExp.prototype.exec, /ab/, ["confabulation"]).index;
 
 Reflect.apply("".charAt, "poneys", [3]);
 // "e"
-
- -

Spécifications

- - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('ES2015', '#sec-reflect.apply', 'Reflect.apply')}}{{Spec2('ES2015')}}Définition initiale.
{{SpecName('ESDraft', '#sec-reflect.apply', 'Reflect.apply')}}{{Spec2('ESDraft')}} 
- -

Compatibilité des navigateurs

- -

{{Compat("javascript.builtins.Reflect.apply")}}

- -

Voir aussi

- - +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ------------------------------------------------------------------------------------ | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-reflect.apply', 'Reflect.apply')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-reflect.apply', 'Reflect.apply')}} | {{Spec2('ESDraft')}} |   | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Reflect.apply")}} + +## Voir aussi + +- {{jsxref("Reflect")}} +- {{jsxref("Function.prototype.apply()")}} diff --git a/files/fr/web/javascript/reference/global_objects/reflect/comparing_reflect_and_object_methods/index.md b/files/fr/web/javascript/reference/global_objects/reflect/comparing_reflect_and_object_methods/index.md index 44b3ead149..028b3233b3 100644 --- a/files/fr/web/javascript/reference/global_objects/reflect/comparing_reflect_and_object_methods/index.md +++ b/files/fr/web/javascript/reference/global_objects/reflect/comparing_reflect_and_object_methods/index.md @@ -13,89 +13,188 @@ translation_of: >- original_slug: >- Web/JavaScript/Reference/Objets_globaux/Reflect/Comparaison_entre_Reflect_et_les_méthodes_Object --- -
{{jssidebar}}
+{{jssidebar}} -

L'objet {{jsxref("Reflect")}}, introduit avec ES2015, est un objet natif fournissant des méthodes pour s'interfacer avec les objets JavaScript. Certaines fonctions statiques de Reflect ont une correspondance avec les méthodes fournies par {{jsxref("Object")}} et disponibles avant ES2015. Bien que ces méthodes aient un comportement similaire, il y a souvent de subtiles différences entre elles.

+L'objet {{jsxref("Reflect")}}, introduit avec ES2015, est un objet natif fournissant des méthodes pour s'interfacer avec les objets JavaScript. Certaines fonctions statiques de `Reflect` ont une correspondance avec les méthodes fournies par {{jsxref("Object")}} et disponibles avant ES2015. Bien que ces méthodes aient un comportement similaire, il y a souvent de subtiles différences entre elles. -

Dans ce tableau, nous énumérons les différences entre les méthodes disponibles avec Object et Reflect. Si une méthode n'existe pas dans le cas indiqué, elle sera notée N/A.

+Dans ce tableau, nous énumérons les différences entre les méthodes disponibles avec `Object` et `Reflect`. Si une méthode n'existe pas dans le cas indiqué, elle sera notée N/A. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Nom de la méthodeObjectReflect
defineProperty(){{jsxref("Object.defineProperty()")}} renvoie l'objet qui a été passé à la fonction. Déclenche une exception TypeError si la propriété n'a pu être définie sur l'objet.{{jsxref("Reflect.defineProperty()")}} renvoie true si la propriété a été définie sur l'objet et false sinon.
defineProperties(){{jsxref("Object.defineProperties()")}} renvoie les objets passés à la fonction. Déclenche une exception TypeError si une des propriétés n'a pu être définie.N/A
set()N/A{{jsxref("Reflect.set()")}} renvoie true si la propriété a été définie sur l'objet et false sinon. Déclenche une exception TypeError si la cible n'était pas un Object.
get()N/A{{jsxref("Reflect.get()")}} renvoie la valeur de la propriété. Déclenche une exception TypeError si la cible n'était pas un Object.
deleteProperty()N/A{{jsxref("Reflect.deleteProperty()")}} renvoie true si la propriété a été supprimée de l'objet et false sinon.
getOwnPropertyDescriptor(){{jsxref("Object.getOwnPropertyDescriptor()")}} renvoie un descripteur de la propriété si elle existe sur l'objet passé en argument. Si la propriété n'existe pas, la méthode renvoie undefined. Si la valeur passée en premier argument n'est pas un objet, elle sera automatiquement convertie en un objet.{{jsxref("Reflect.getOwnPropertyDescriptor()")}} renvoie un descripteur de la propriété si elle existe sur l'objet et undefined si elle n'existe pas. Déclenche une exception TypeError si la valeur passée en premier argument n'est pas un objet.
getOwnPropertyDescriptors(){{jsxref("Object.getOwnPropertyDescriptors()")}} renvoie un objet contenant un descripteur de propriété pour chaque objet passé en argument. Renvoie un objet vide si l'objet passé en argument ne contient pas les descripteurs.N/A
getPrototypeOf(){{jsxref("Object.getPrototypeOf()")}} renvoie le prototype de l'objet fourni. Renvoie null s'il n'y a pas de propriétés héritées. En ES5, déclenche une exception TypeError pour les valeurs qui ne sont pas des objets (pour ES6 et ensuite, les valeurs sont converties en objet).{{jsxref("Reflect.getPrototypeOf()")}} renvoie le prototype de l'objet fourni. Renvoie null s'il n'y a pas de propriétés héritées et déclenche une exception TypeError pour les valeurs qui ne sont pas des objets.
setPrototypeOf(){{jsxref("Object.setPrototypeOf()")}} renvoie l'objet fourni si le prototype a pu être défini. Déclenche une exception TypeError si le prototype utilisé n'était pas un objet ou null ou si le prototype de l'objet à modifier n'est pas extensible.{{jsxref("Reflect.setPrototypeOf()")}} renvoie true si le prototype a pu être défini sur l'objet et false sinon (y compris lorsque le prototype n'est pas extensible). Déclenche une exception TypeError si la cible passée n'est pas un objet ou si le prototype à appliquer n'est pas un objet ou n'est pas null.
isExtensible(){{jsxref("Object.isExtensible()")}} renvoie true si l'objet est extensible et false sinon. En ES5, déclenche une exception TypeError si le premier argument fourni n'est pas un objet. Avec ES6 et ensuite, si l'argument fourni est une valeur primitive, il est converti en un objet non-extensible et la méthode renvoie donc false. -

{{jsxref("Reflect.isExtensible()")}} renvoie true si l'objet est extensible et false sinon. Déclenche une exception TypeError si le premier argument n'est pas un objet.

-
preventExtensions() -

{{jsxref("Object.preventExtensions()")}} renvoie l'objet qui a été rendu non-extensible. En ES5, déclenche une exception si l'argument n'est pas un objet. Avec ES6 et ensuite, si l'argument fourni est une valeur primitive, il est converti en un objet non-extensible et c'est cette valeur qui est renvoyée.

-
{{jsxref("Reflect.preventExtensions()")}} renvoie true si l'objet a été rendu non-extensible et false sinon. Déclenche une exception TypeError si l'argument n'est pas un objet.
keys(){{jsxref("Object.keys()")}} renvoie un tableau de chaînes de caractères qui sont les noms des propriétés propres (et énumérables) de l'objet. En ES5, déclenche une exception TypeError si la cible n'est pas un objet. Avec ES6 et les versions suivantes, les valeurs primitives sont converties en objets.N/A
ownKeys()N/A{{jsxref("Reflect.ownKeys()")}} renvoie un tableau des noms des propriétés pour les clés des propriétés propres de de l'objet. Déclenche une exception TypeError si la cible n'est pas un objet.
Nom de la méthodeObjectReflect
defineProperty() + {{jsxref("Object.defineProperty()")}} renvoie l'objet qui a + été passé à la fonction. Déclenche une exception + TypeError si la propriété n'a pu être définie sur l'objet. + + {{jsxref("Reflect.defineProperty()")}} renvoie + true si la propriété a été définie sur l'objet et + false sinon. +
defineProperties() + {{jsxref("Object.defineProperties()")}} renvoie les objets + passés à la fonction. Déclenche une exception TypeError si + une des propriétés n'a pu être définie. + N/A
set()N/A + {{jsxref("Reflect.set()")}} renvoie true si la + propriété a été définie sur l'objet et false sinon. + Déclenche une exception TypeError si la cible n'était pas + un Object. +
get()N/A + {{jsxref("Reflect.get()")}} renvoie la valeur de la propriété. + Déclenche une exception TypeError si la cible n'était pas + un Object. +
deleteProperty()N/A + {{jsxref("Reflect.deleteProperty()")}} renvoie + true si la propriété a été supprimée de l'objet et + false sinon. +
getOwnPropertyDescriptor() + {{jsxref("Object.getOwnPropertyDescriptor()")}} renvoie + un descripteur de la propriété si elle existe sur l'objet passé en + argument. Si la propriété n'existe pas, la méthode renvoie + undefined. Si la valeur passée en premier argument n'est + pas un objet, elle sera automatiquement convertie en un objet. + + {{jsxref("Reflect.getOwnPropertyDescriptor()")}} renvoie + un descripteur de la propriété si elle existe sur l'objet et + undefined si elle n'existe pas. Déclenche une exception + TypeError si la valeur passée en premier argument n'est pas + un objet. +
getOwnPropertyDescriptors() + {{jsxref("Object.getOwnPropertyDescriptors()")}} renvoie + un objet contenant un descripteur de propriété pour chaque objet passé + en argument. Renvoie un objet vide si l'objet passé en argument ne + contient pas les descripteurs. + N/A
getPrototypeOf() + {{jsxref("Object.getPrototypeOf()")}} renvoie le prototype de + l'objet fourni. Renvoie null s'il n'y a pas de propriétés + héritées. En ES5, déclenche une exception TypeError pour + les valeurs qui ne sont pas des objets (pour ES6 et ensuite, les valeurs + sont converties en objet). + + {{jsxref("Reflect.getPrototypeOf()")}} renvoie le + prototype de l'objet fourni. Renvoie null s'il n'y a pas de + propriétés héritées et déclenche une exception + TypeError pour les valeurs qui ne sont pas des objets. +
setPrototypeOf() + {{jsxref("Object.setPrototypeOf()")}} renvoie l'objet fourni + si le prototype a pu être défini. Déclenche une exception + TypeError si le prototype utilisé n'était pas un objet ou + null ou si le prototype de l'objet à modifier n'est pas + extensible. + + {{jsxref("Reflect.setPrototypeOf()")}} renvoie + true si le prototype a pu être défini sur l'objet et + false sinon (y compris lorsque le prototype n'est pas + extensible). Déclenche une exception TypeError si la cible + passée n'est pas un objet ou si le prototype à appliquer n'est pas un + objet ou n'est pas null. +
isExtensible() + {{jsxref("Object.isExtensible()")}} renvoie + true si l'objet est extensible et false sinon. + En ES5, déclenche une exception TypeError si le premier + argument fourni n'est pas un objet. Avec ES6 et ensuite, si l'argument + fourni est une valeur primitive, il est converti en un objet + non-extensible et la méthode renvoie donc false. + +

+ {{jsxref("Reflect.isExtensible()")}} renvoie + true si l'objet est extensible et + false sinon. Déclenche une exception + TypeError si le premier argument n'est pas un objet. +

+
preventExtensions() +

+ {{jsxref("Object.preventExtensions()")}} renvoie l'objet + qui a été rendu non-extensible. En ES5, déclenche une exception si + l'argument n'est pas un objet. Avec ES6 et ensuite, si l'argument + fourni est une valeur primitive, il est converti en un objet + non-extensible et c'est cette valeur qui est renvoyée. +

+
+ {{jsxref("Reflect.preventExtensions()")}} renvoie + true si l'objet a été rendu non-extensible et + false sinon. Déclenche une exception + TypeError si l'argument n'est pas un objet. +
keys() + {{jsxref("Object.keys()")}} renvoie un tableau de chaînes de + caractères qui sont les noms des propriétés propres (et énumérables) de + l'objet. En ES5, déclenche une exception TypeError si la + cible n'est pas un objet. Avec ES6 et les versions suivantes, les + valeurs primitives sont converties en objets. + N/A
ownKeys()N/A + {{jsxref("Reflect.ownKeys()")}} renvoie un tableau des noms des + propriétés pour les clés des propriétés propres de de l'objet. Déclenche + une exception TypeError si la cible n'est pas un objet. +
diff --git a/files/fr/web/javascript/reference/global_objects/reflect/construct/index.md b/files/fr/web/javascript/reference/global_objects/reflect/construct/index.md index 3a53b1c6d8..cc19267c06 100644 --- a/files/fr/web/javascript/reference/global_objects/reflect/construct/index.md +++ b/files/fr/web/javascript/reference/global_objects/reflect/construct/index.md @@ -10,68 +10,70 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/construct original_slug: Web/JavaScript/Reference/Objets_globaux/Reflect/construct --- -
{{JSRef}}
+{{JSRef}} -

La méthode statique Reflect.construct() agit comme l'opérateur new sous la forme d'une fonction. Elle est équivalente à new cible(...args) et permet d'indiquer un prototype différent.

+La méthode statique **`Reflect`\*\***`.construct()`\*\* agit comme l'opérateur [`new`](/fr/docs/Web/JavaScript/Reference/Opérateurs/L_opérateur_new) sous la forme d'une fonction. Elle est équivalente à `new cible(...args)` et permet d'indiquer un prototype différent. -
{{EmbedInteractiveExample("pages/js/reflect-construct.html")}}
+{{EmbedInteractiveExample("pages/js/reflect-construct.html")}} -

Syntaxe

+## Syntaxe -
Reflect.construct(cible, listeArguments[, newCible])
-
+ Reflect.construct(cible, listeArguments[, newCible]) -

Paramètres

+### Paramètres -
-
cible
-
La fonction cible à appeler.
-
listeArguments
-
Un objet semblable à un tableau définissant les arguments à passer à cible lors de l'appel. Utiliser {{jsxref("null")}} ou {{jsxref("undefined")}} si aucun argument ne doit être fourni à la fonction.
-
newCible {{optional_inline}}
-
Le constructeur dont le prototype devrait être utilisé. Voir également l'opérateur new.target. Si newCible n'est pas présent, c'est cible qui sera utilisé.
-
+- `cible` + - : La fonction cible à appeler. +- `listeArguments` + - : Un objet semblable à un tableau définissant les arguments à passer à `cible` lors de l'appel. Utiliser {{jsxref("null")}} ou {{jsxref("undefined")}} si aucun argument ne doit être fourni à la fonction. +- `newCible` {{optional_inline}} + - : Le constructeur dont le prototype devrait être utilisé. Voir également l'opérateur [`new.target`](/fr/docs/Web/JavaScript/Reference/Opérateurs/new.target). Si `newCible` n'est pas présent, c'est `cible` qui sera utilisé. -

Valeur de retour

+### Valeur de retour -

Un nouvelle instance de la cible indiquée, créée en l'appelant comme un constructeur (ou en appelant newCible si elle est fournie) avec les arguments fournis.

+Un nouvelle instance de la cible indiquée, créée en l'appelant comme un constructeur (ou en appelant `newCible` si elle est fournie) avec les arguments fournis. -

Exceptions levées

+### Exceptions levées -

Une exception {{jsxref("TypeError")}} si cible ou newCible ne sont pas des constructeurs.

+Une exception {{jsxref("TypeError")}} si `cible` ou `newCible` ne sont pas des constructeurs. -

Description

+## Description -

Reflect.construct() permet d'appeler un constructeur avec un nombre d'arguments variable (ce qui peut également être fait avec l'opérateur de décomposition et l'opérateur new).

+`Reflect.construct()` permet d'appeler un constructeur avec un nombre d'arguments variable (ce qui peut également être fait avec [l'opérateur de décomposition](/fr/docs/Web/JavaScript/Reference/Opérateurs/Opérateur_de_décomposition) et l'opérateur [`new`](/fr/docs/Web/JavaScript/Reference/Opérateurs/L_opérateur_new)). -
var obj = new Toto(...args);
-var obj = Reflect.construct(Toto, args);
+```js +var obj = new Toto(...args); +var obj = Reflect.construct(Toto, args); +``` -

Exemples

+## Exemples -

Utiliser Reflect.construct()

+### Utiliser `Reflect.construct()` -
var d = Reflect.construct(Date, [1776, 6, 4]);
+```js
+var d = Reflect.construct(Date, [1776, 6, 4]);
 d instanceof Date; // true
 d.getFullYear(); // 1776
-
+``` -

Utiliser le paramètre newCible

+### Utiliser le paramètre `newCible` -

Pour plus d'informations sur la création de sous-classes, voir les classes et l'opérateur new.target.

+Pour plus d'informations sur la création de sous-classes, voir les [classes](/fr/docs/Web/JavaScript/Reference/Classes) et l'opérateur [`new.target`](/fr/docs/Web/JavaScript/Reference/Opérateurs/new.target). -
function unConstructeur() {}
+```js
+function unConstructeur() {}
 var résultat = Reflect.construct(Array, [], unConstructeur);
 
 Reflect.getPrototypeOf(résultat); // unConstructeur.prototype
 Array.isArray(résultat); // true
-
+``` -

Une comparaison entre Reflect.construct() et Object.create()

+### Une comparaison entre `Reflect.construct()` et `Object.create()` -

Avant l'apparition de Reflect, on pouvait construire des objets avec une combinaison donnée de consttructeur et de prototype grâce à {{jsxref("Object.create()")}}.

+Avant l'apparition de `Reflect`, on pouvait construire des objets avec une combinaison donnée de consttructeur et de prototype grâce à {{jsxref("Object.create()")}}. -
function MaClasseA() {
+```js
+function MaClasseA() {
   this.name = 'A';
 }
 
@@ -94,13 +96,14 @@ console.log(obj2 instanceof MaClasseA); // false
 
 console.log(obj1 instanceof MaClasseB); // true
 console.log(obj2 instanceof MaClasseB); // true
-
+``` -

Toutefois, si les résultats sont identiques, il y a une différence notable. Lorsqu'on utilise Object.create() et Function.prototype.apply(), l'opérateur new.target pointe vers undefined dans la fonction utilisée comme constructeur car le mot-clé new n'est pas utilisé à la création de l'objet.

+Toutefois, si les résultats sont identiques, il y a une différence notable. Lorsqu'on utilise `Object.create()` et `Function.prototype.apply()`, l'opérateur `new.target` pointe vers `undefined` dans la fonction utilisée comme constructeur car le mot-clé `new` n'est pas utilisé à la création de l'objet. -

Mais quand on appelle Reflect.construct(), new.target pointe vers la valeur fournie par newCible si ce dernier est fourni ou vers cible sinon.

+Mais quand on appelle `Reflect.construct()`, `new.target` pointe vers la valeur fournie par `newCible` si ce dernier est fourni ou vers `cible` sinon. -
function MaClasseA() {
+```js
+function MaClasseA() {
   console.log('MaClasseA');
   console.log(new.target);
 }
@@ -123,38 +126,22 @@ var obj3 = Object.create(MaClasseB.prototype);
 MaClasseA.apply(obj3, args);
 // Résultat :
 //     MaClasseA
-//     undefined
- -

Spécifications

- - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('ES2015', '#sec-reflect.construct', 'Reflect.construct')}}{{Spec2('ES2015')}}Définition initiale.
{{SpecName('ESDraft', '#sec-reflect.construct', 'Reflect.construct')}}{{Spec2('ESDraft')}}
- -

Compatibilité des navigateurs

- -

{{Compat("javascript.builtins.Reflect.construct")}}

- -

Voir aussi

- - +// undefined +``` + +## Spécifications + +| Spécification | État | Commentaires | +| -------------------------------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-reflect.construct', 'Reflect.construct')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-reflect.construct', 'Reflect.construct')}} | {{Spec2('ESDraft')}} | | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Reflect.construct")}} + +## Voir aussi + +- {{jsxref("Reflect")}} +- [`new`](/fr/docs/Web/JavaScript/Reference/Opérateurs/L_opérateur_new) +- [`new.target`](/fr/docs/Web/JavaScript/Reference/Opérateurs/new.target) diff --git a/files/fr/web/javascript/reference/global_objects/reflect/defineproperty/index.md b/files/fr/web/javascript/reference/global_objects/reflect/defineproperty/index.md index 486217295b..344aa1fb9f 100644 --- a/files/fr/web/javascript/reference/global_objects/reflect/defineproperty/index.md +++ b/files/fr/web/javascript/reference/global_objects/reflect/defineproperty/index.md @@ -10,88 +10,71 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/defineProperty original_slug: Web/JavaScript/Reference/Objets_globaux/Reflect/defineProperty --- -
{{JSRef}}
+{{JSRef}} -

La méthode statique Reflect.defineProperty() est semblable à {{jsxref("Object.defineProperty()")}} mais renvoie un {{jsxref("Boolean")}}.

+La méthode statique **`Reflect`\*\***`.defineProperty()`\*\* est semblable à {{jsxref("Object.defineProperty()")}} mais renvoie un {{jsxref("Boolean")}}. -
{{EmbedInteractiveExample("pages/js/reflect-defineproperty.html")}}
+{{EmbedInteractiveExample("pages/js/reflect-defineproperty.html")}} -

Syntaxe

+## Syntaxe -
Reflect.defineProperty(cible, cléPropriété, attributs)
-
+ Reflect.defineProperty(cible, cléPropriété, attributs) -

Paramètres

+### Paramètres -
-
cible
-
L'objet cible sur lequel on veut définir la propriété.
-
cléPropriété
-
Le nom de la propriété qu'on souhaite définir ou modifier.
-
attributs
-
Les attributs de de la propriété qu'on ajoute ou qu'on modifie.
-
+- `cible` + - : L'objet cible sur lequel on veut définir la propriété. +- `cléPropriété` + - : Le nom de la propriété qu'on souhaite définir ou modifier. +- `attributs` + - : Les attributs de de la propriété qu'on ajoute ou qu'on modifie. -

Valeur de retour

+### Valeur de retour -

Un {{jsxref("Boolean","booléen","",1)}} qui indique si la propriété a bien été définie.

+Un {{jsxref("Boolean","booléen","",1)}} qui indique si la propriété a bien été définie. -

Exceptions

+### Exceptions -

Une erreur {{jsxref("TypeError")}} si cible n'est pas un {{jsxref("Object")}}.

+Une erreur {{jsxref("TypeError")}} si `cible` n'est pas un {{jsxref("Object")}}. -

Description

+## Description -

La méthode Reflect.defineProperty permet d'ajouter ou de modifier finement une propriété d'un objet. Pour plus de détails, voir la méthode {{jsxref("Object.defineProperty")}} qui est très similaire. Object.defineProperty renvoie l'objet et lève une {{jsxref("TypeError")}} si la propriété n'a pas correctement été définie. Reflect.defineProperty renvoie simplement un {{jsxref("Boolean")}} qui indique si la propriété a été définie avec succès ou non.

+La méthode `Reflect.defineProperty` permet d'ajouter ou de modifier finement une propriété d'un objet. Pour plus de détails, voir la méthode {{jsxref("Object.defineProperty")}} qui est très similaire. `Object.defineProperty` renvoie l'objet et lève une {{jsxref("TypeError")}} si la propriété n'a pas correctement été définie. `Reflect.defineProperty` renvoie simplement un {{jsxref("Boolean")}} qui indique si la propriété a été définie avec succès ou non. -

Exemples

+## Exemples -

Utiliser Reflect.defineProperty()

+### Utiliser `Reflect.defineProperty()` -
var obj = {};
+```js
+var obj = {};
 Reflect.defineProperty(obj, "x", {value: 7}); // true
 obj.x; // 7
-
+``` -

Vérifier si la définition de propriété a réussi

+### Vérifier si la définition de propriété a réussi -

{{jsxref("Object.defineProperty")}} renvoie un objet si la définition a réussi ou lève une exception {{jsxref("TypeError")}} sinon, ce qui implique d'utiliser un bloc try...catch pour attraper l'erreur. Reflect.defineProperty renvoie un booléen pour indiquer la réussite ou l'échec, un bloc if...else suffit :

+{{jsxref("Object.defineProperty")}} renvoie un objet si la définition a réussi ou lève une exception {{jsxref("TypeError")}} sinon, ce qui implique d'utiliser un bloc [`try...catch`](/fr/docs/Web/JavaScript/Reference/Instructions/try...catch) pour attraper l'erreur. `Reflect.defineProperty` renvoie un booléen pour indiquer la réussite ou l'échec, un bloc [`if...else`](/fr/docs/Web/JavaScript/Reference/Instructions/if...else) suffit : -
if (Reflect.defineProperty(cible, propriété, attributs)) {
+```js
+if (Reflect.defineProperty(cible, propriété, attributs)) {
   // succès
 } else {
   // échec
-}
- -

Spécifications

- - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('ES2015', '#sec-reflect.defineproperty', 'Reflect.defineProperty')}}{{Spec2('ES2015')}}Définition initiale.
{{SpecName('ESDraft', '#sec-reflect.defineproperty', 'Reflect.defineProperty')}}{{Spec2('ESDraft')}} 
- -

Compatibilité des navigateurs

- -

{{Compat("javascript.builtins.Reflect.defineProperty")}}

- -

Voir aussi

- - +} +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ------------------------------------------------------------------------------------------------------------ | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-reflect.defineproperty', 'Reflect.defineProperty')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-reflect.defineproperty', 'Reflect.defineProperty')}} | {{Spec2('ESDraft')}} |   | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Reflect.defineProperty")}} + +## Voir aussi + +- {{jsxref("Reflect")}} +- {{jsxref("Object.defineProperty()")}} diff --git a/files/fr/web/javascript/reference/global_objects/reflect/deleteproperty/index.md b/files/fr/web/javascript/reference/global_objects/reflect/deleteproperty/index.md index dc9cf06102..f62bd50161 100644 --- a/files/fr/web/javascript/reference/global_objects/reflect/deleteproperty/index.md +++ b/files/fr/web/javascript/reference/global_objects/reflect/deleteproperty/index.md @@ -10,41 +10,39 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/deleteProperty original_slug: Web/JavaScript/Reference/Objets_globaux/Reflect/deleteProperty --- -
{{JSRef}}
+{{JSRef}} -

La méthode statique Reflect.deleteProperty() permet de supprimer des propriétés. Il agit comme l'opérateur delete.

+La méthode statique **`Reflect`\*\***`.deleteProperty()`\*\* permet de supprimer des propriétés. Il agit comme l'opérateur [`delete`](/fr/docs/Web/JavaScript/Reference/Opérateurs/L_opérateur_delete). -
{{EmbedInteractiveExample("pages/js/reflect-deleteproperty.html", "taller")}}
+{{EmbedInteractiveExample("pages/js/reflect-deleteproperty.html", "taller")}} -

Syntaxe

+## Syntaxe -
Reflect.deleteProperty(cible, cléPropriété)
-
+ Reflect.deleteProperty(cible, cléPropriété) -

Paramètres

+### Paramètres -
-
cible
-
L'objet cible sur lequel on souhaite supprimer la propriété.
-
cléPropriété
-
Le nom de la propriété à supprimer.
-
+- `cible` + - : L'objet cible sur lequel on souhaite supprimer la propriété. +- `cléPropriété` + - : Le nom de la propriété à supprimer. -

Valeur de retour

+### Valeur de retour -

Un {{jsxref("Boolean","booléen","",1)}} qui indique si la suppression de la propriété s'est bien passée.

+Un {{jsxref("Boolean","booléen","",1)}} qui indique si la suppression de la propriété s'est bien passée. -

Exceptions

+### Exceptions -

Une erreur {{jsxref("TypeError")}} si cible n'est pas un {{jsxref("Object")}}.

+Une erreur {{jsxref("TypeError")}} si `cible` n'est pas un {{jsxref("Object")}}. -

Description

+## Description -

La méthode Reflect.deleteProperty permet de supprimer une propriété d'un objet. Elle renvoie un {{jsxref("Boolean")}} qui indique si la propriété a été supprimée correctement. Cette méthode est très proche de l'opérateur delete.

+La méthode `Reflect.deleteProperty` permet de supprimer une propriété d'un objet. Elle renvoie un {{jsxref("Boolean")}} qui indique si la propriété a été supprimée correctement. Cette méthode est très proche de l'opérateur [`delete`](/fr/docs/Web/JavaScript/Reference/Opérateurs/L_opérateur_delete). -

Exemples

+## Exemples -
var obj = { x: 1, y: 2 };
+```js
+var obj = { x: 1, y: 2 };
 Reflect.deleteProperty(obj, "x"); // true
 obj; // { y: 2 }
 
@@ -57,37 +55,20 @@ Reflect.deleteProperty({}, "toto"); // true
 
 // Renvoie false si une propriété n'est pas configurable
 Reflect.deleteProperty(Object.freeze({toto: 1}),"toto"); // false
-
- -

Spécifications

- - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('ES2015', '#sec-reflect.deleteproperty', 'Reflect.deleteProperty')}}{{Spec2('ES2015')}}Définition initiale.
{{SpecName('ESDraft', '#sec-reflect.deleteproperty', 'Reflect.deleteProperty')}}{{Spec2('ESDraft')}} 
- -

Compatibilité des navigateurs

- -

{{Compat("javascript.builtins.Reflect.deleteProperty")}}

- -

Voir aussi

- - +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ------------------------------------------------------------------------------------------------------------ | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-reflect.deleteproperty', 'Reflect.deleteProperty')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-reflect.deleteproperty', 'Reflect.deleteProperty')}} | {{Spec2('ESDraft')}} |   | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Reflect.deleteProperty")}} + +## Voir aussi + +- {{jsxref("Reflect")}} +- [Opérateur `delete`](/fr/docs/Web/JavaScript/Reference/Opérateurs/L_opérateur_delete) diff --git a/files/fr/web/javascript/reference/global_objects/reflect/get/index.md b/files/fr/web/javascript/reference/global_objects/reflect/get/index.md index cd3bde5bbc..12e8fd4936 100644 --- a/files/fr/web/javascript/reference/global_objects/reflect/get/index.md +++ b/files/fr/web/javascript/reference/global_objects/reflect/get/index.md @@ -10,43 +10,41 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/get original_slug: Web/JavaScript/Reference/Objets_globaux/Reflect/get --- -
{{JSRef}}
+{{JSRef}} -

La méthode statique Reflect.get() est une fonction qui permet d'obtenir une propriété d'un objet cible. Elle fonctionne comme (cible[cléPropriété]) mais sous la forme d'une fonction.

+La méthode statique **`Reflect.get()`** est une fonction qui permet d'obtenir une propriété d'un objet cible. Elle fonctionne comme (`cible[cléPropriété]`) mais sous la forme d'une fonction. -
{{EmbedInteractiveExample("pages/js/reflect-get.html")}}
+{{EmbedInteractiveExample("pages/js/reflect-get.html")}} -

Syntaxe

+## Syntaxe -
Reflect.get(cible, cléPropriété[, récepteur])
-
+ Reflect.get(cible, cléPropriété[, récepteur]) -

Paramètres

+### Paramètres -
-
cible
-
L'objet cible dont on souhaite obtenir la propriété.
-
cléPropriété
-
Le nom de la propriété qu'on souhaite obtenir.
-
récepteur {{optional_inline}}
-
La valeur de this à passer à cible si l'accesseur est utilisé. Lorsqu'on l'utilise avec {{jsxref("Proxy")}}, ce peut être un objet qui hérite de la cible.
-
+- `cible` + - : L'objet cible dont on souhaite obtenir la propriété. +- `cléPropriété` + - : Le nom de la propriété qu'on souhaite obtenir. +- `récepteur` {{optional_inline}} + - : La valeur de `this` à passer à `cible` si l'accesseur est utilisé. Lorsqu'on l'utilise avec {{jsxref("Proxy")}}, ce peut être un objet qui hérite de la cible. -

Valeur de retour

+### Valeur de retour -

La valeur de la propriété.

+La valeur de la propriété. -

Exceptions

+### Exceptions -

Une erreur {{jsxref("TypeError")}} si cible n'est pas un {{jsxref("Object")}}.

+Une erreur {{jsxref("TypeError")}} si `cible` n'est pas un {{jsxref("Object")}}. -

Description

+## Description -

La méthode Reflect.get permet d'obtenir une propriété d'un objet. Elle est équivalent à un accesseur de propriété mais sous la forme d'une fonction.

+La méthode `Reflect.get` permet d'obtenir une propriété d'un objet. Elle est équivalent à [un accesseur de propriété](/fr/docs/Web/JavaScript/Reference/Opérateurs/Opérateurs_de_membres) mais sous la forme d'une fonction. -

Exemples

+## Exemples -
// Object
+```js
+// Object
 var obj = { x: 1, y: 2 };
 Reflect.get(obj, "x"); // 1
 
@@ -59,37 +57,20 @@ var obj = new Proxy(x, {
   get(t, k, r) { return k + "truc"; }
 });
 Reflect.get(obj, "toto"); // "tototruc"
-
- -

Spécifications

- - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('ES2015', '#sec-reflect.get', 'Reflect.get')}}{{Spec2('ES2015')}}Définition initiale
{{SpecName('ESDraft', '#sec-reflect.get', 'Reflect.get')}}{{Spec2('ESDraft')}} 
- -

Compatibilité des navigateurs

- -

{{Compat("javascript.builtins.Reflect.get")}}

- -

Voir aussi

- - +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ---------------------------------------------------------------------------- | ---------------------------- | ------------------- | +| {{SpecName('ES2015', '#sec-reflect.get', 'Reflect.get')}} | {{Spec2('ES2015')}} | Définition initiale | +| {{SpecName('ESDraft', '#sec-reflect.get', 'Reflect.get')}} | {{Spec2('ESDraft')}} |   | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Reflect.get")}} + +## Voir aussi + +- {{jsxref("Reflect")}} +- [Accesseurs de propriété](/fr/docs/Web/JavaScript/Reference/Opérateurs/Opérateurs_de_membres) diff --git a/files/fr/web/javascript/reference/global_objects/reflect/getownpropertydescriptor/index.md b/files/fr/web/javascript/reference/global_objects/reflect/getownpropertydescriptor/index.md index be67182701..012a95c2a8 100644 --- a/files/fr/web/javascript/reference/global_objects/reflect/getownpropertydescriptor/index.md +++ b/files/fr/web/javascript/reference/global_objects/reflect/getownpropertydescriptor/index.md @@ -10,43 +10,41 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/getOwnPropertyDescriptor original_slug: Web/JavaScript/Reference/Objets_globaux/Reflect/getOwnPropertyDescriptor --- -
{{JSRef}}
+{{JSRef}} -

La méthode statique Reflect.getOwnPropertyDescriptor() est similaire à {{jsxref("Object.getOwnPropertyDescriptor()")}}. Elle renvoie un descripteur de propriété pour la propriété visée si elle existe sur l'objet, sinon, elle renvoie {{jsxref("undefined")}}.

+La méthode statique **`Reflect`\*\***`.getOwnPropertyDescriptor()`\*\* est similaire à {{jsxref("Object.getOwnPropertyDescriptor()")}}. Elle renvoie un descripteur de propriété pour la propriété visée si elle existe sur l'objet, sinon, elle renvoie {{jsxref("undefined")}}. -
{{EmbedInteractiveExample("pages/js/reflect-getownpropertydescriptor.html")}}
+{{EmbedInteractiveExample("pages/js/reflect-getownpropertydescriptor.html")}} -

Syntaxe

+## Syntaxe -
Reflect.getOwnPropertyDescriptor(cible, cléPropriété)
-
+ Reflect.getOwnPropertyDescriptor(cible, cléPropriété) -

Paramètres

+### Paramètres -
-
cible
-
L'objet cible sur lequel on cherche la propriété.
-
cléPropriété
-
Le nom de la propriété dont on veut obtenir le descripteur.
-
+- `cible` + - : L'objet cible sur lequel on cherche la propriété. +- `cléPropriété` + - : Le nom de la propriété dont on veut obtenir le descripteur. -

Valeur de retour

+### Valeur de retour -

Un objet qui est un descripteur de propriété si elle existe sur l'objet cible ou {{jsxref("undefined")}} dans le cas contraire.

+Un objet qui est un descripteur de propriété si elle existe sur l'objet cible ou {{jsxref("undefined")}} dans le cas contraire. -

Exceptions

+### Exceptions -

Une erreur {{jsxref("TypeError")}} si cible n'est pas un {{jsxref("Object")}}.

+Une erreur {{jsxref("TypeError")}} si `cible` n'est pas un {{jsxref("Object")}}. -

Description

+## Description -

La méthode Reflect.getOwnPropertyDescriptor renvoie un descripteur pour la propriété demandée si celle-ci existe sur l'objet, sinon, elle renvoie {{jsxref("undefined")}}. La seule différence avec {{jsxref("Object.getOwnPropertyDescriptor()")}} est la façon dont les cibles qui ne sont pas des objets sont gérées.

+La méthode `Reflect.getOwnPropertyDescriptor` renvoie un descripteur pour la propriété demandée si celle-ci existe sur l'objet, sinon, elle renvoie {{jsxref("undefined")}}. La seule différence avec {{jsxref("Object.getOwnPropertyDescriptor()")}} est la façon dont les cibles qui ne sont pas des objets sont gérées. -

Exemples

+## Exemples -

Utiliser Reflect.getOwnPropertyDescriptor()

+### Utiliser `Reflect.getOwnPropertyDescriptor()` -
Reflect.getOwnPropertyDescriptor({x: "coucou"}, "x");
+```js
+Reflect.getOwnPropertyDescriptor({x: "coucou"}, "x");
 // {value: "coucou", writable: true, enumerable: true, configurable: true}
 
 Reflect.getOwnPropertyDescriptor({x: "coucou"}, "y");
@@ -54,47 +52,32 @@ Reflect.getOwnPropertyDescriptor({x: "coucou"}, "y");
 
 Reflect.getOwnPropertyDescriptor([], "length");
 // {value: 0, writable: true, enumerable: false, configurable: false}
-
+``` -

Différence avec Object.getOwnPropertyDescriptor()

+### Différence avec `Object.getOwnPropertyDescriptor()` -

Si le premier argument passé à la méthode n'est pas un objet (autrement dit si c'est une valeur de type primitif), cela causera une exception {{jsxref("TypeError")}}. Si on utilise {{jsxref("Object.getOwnPropertyDescriptor")}}, une valeur qui n'est pas un objet sera d'abord convertie en objet.

+Si le premier argument passé à la méthode n'est pas un objet (autrement dit si c'est une valeur de type primitif), cela causera une exception {{jsxref("TypeError")}}. Si on utilise {{jsxref("Object.getOwnPropertyDescriptor")}}, une valeur qui n'est pas un objet sera d'abord convertie en objet. -
Reflect.getOwnPropertyDescriptor("toto", 0);
+```js
+Reflect.getOwnPropertyDescriptor("toto", 0);
 // TypeError: "toto" is not non-null object
 
 Object.getOwnPropertyDescriptor("toto", 0);
-// { value: "toto", writable: false, enumerable: true, configurable: false }
- -

Spécifications

- - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('ES2015', '#sec-reflect.getownpropertydescriptor', 'Reflect.getOwnPropertyDescriptor')}}{{Spec2('ES2015')}}Définition initiale.
{{SpecName('ESDraft', '#sec-reflect.getownpropertydescriptor', 'Reflect.getOwnPropertyDescriptor')}}{{Spec2('ESDraft')}} 
- -

Compatibilité des navigateurs

- -

{{Compat("javascript.builtins.Reflect.getOwnPropertyDescriptor")}}

- -

Voir aussi

- - +// { value: "toto", writable: false, enumerable: true, configurable: false } +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-reflect.getownpropertydescriptor', 'Reflect.getOwnPropertyDescriptor')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-reflect.getownpropertydescriptor', 'Reflect.getOwnPropertyDescriptor')}} | {{Spec2('ESDraft')}} |   | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Reflect.getOwnPropertyDescriptor")}} + +## Voir aussi + +- {{jsxref("Reflect")}} +- {{jsxref("Object.getOwnPropertyDescriptor()")}} diff --git a/files/fr/web/javascript/reference/global_objects/reflect/getprototypeof/index.md b/files/fr/web/javascript/reference/global_objects/reflect/getprototypeof/index.md index 9a4aef5aaf..3f7106a7b6 100644 --- a/files/fr/web/javascript/reference/global_objects/reflect/getprototypeof/index.md +++ b/files/fr/web/javascript/reference/global_objects/reflect/getprototypeof/index.md @@ -10,48 +10,47 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/getPrototypeOf original_slug: Web/JavaScript/Reference/Objets_globaux/Reflect/getPrototypeOf --- -
{{JSRef}}
+{{JSRef}} -

La méthode statique Reflect.getPrototypeOf() est semblable à la méthode {{jsxref("Object.getPrototypeOf()")}}. Elle renvoie le prototype (c'est-à-dire la valeur de la propriété interne [[Prototype]]) de l'objet donné.

+La méthode statique **`Reflect`\*\***`.getPrototypeOf()`\*\* est semblable à la méthode {{jsxref("Object.getPrototypeOf()")}}. Elle renvoie le prototype (c'est-à-dire la valeur de la propriété interne `[[Prototype]]`) de l'objet donné. -
{{EmbedInteractiveExample("pages/js/reflect-getprototypeof.html")}}
+{{EmbedInteractiveExample("pages/js/reflect-getprototypeof.html")}} -

Syntaxe

+## Syntaxe -
Reflect.getPrototypeOf(cible)
-
+ Reflect.getPrototypeOf(cible) -

Paramètres

+### Paramètres -
-
cible
-
L'objet cible dont on souhaite obtenir le prototype.
-
+- `cible` + - : L'objet cible dont on souhaite obtenir le prototype. -

Valeur de retour

+### Valeur de retour -

Le prototype de l'objet ou {{jsxref("null")}} s'il n'y a aucune propriété héritée.

+Le prototype de l'objet ou {{jsxref("null")}} s'il n'y a aucune propriété héritée. -

Exceptions levées

+### Exceptions levées -

Une erreur {{jsxref("TypeError")}} si cible n'est pas un {{jsxref("Object")}}.

+Une erreur {{jsxref("TypeError")}} si `cible` n'est pas un {{jsxref("Object")}}. -

Description

+## Description -

La méthode Reflect.getPrototypeOf renvoie le prototype (qui correspond en réalité à la valeur de la propriété interne [[Prototype]]) de l'objet passé en argument.

+La méthode `Reflect.getPrototypeOf` renvoie le prototype (qui correspond en réalité à la valeur de la propriété interne `[[Prototype]]`) de l'objet passé en argument. -

Exemples

+## Exemples -

Utiliser Reflect.getPrototypeOf()

+### Utiliser `Reflect.getPrototypeOf()` -
Reflect.getPrototypeOf({}); // Object.prototype
+```js
+Reflect.getPrototypeOf({}); // Object.prototype
 Reflect.getPrototypeOf(Object.prototype); // null
 Reflect.getPrototypeOf(Object.create(null)); // null
-
+``` -

Comparaison avec Object.getPrototypeOf()

+### Comparaison avec `Object.getPrototypeOf()` -
// Résultat identiques pour les objets
+```js
+// Résultat identiques pour les objets
 Object.getPrototypeOf({});  // Object.prototype
 Reflect.getPrototypeOf({}); // Object.prototype
 
@@ -67,37 +66,20 @@ Reflect.getPrototypeOf('toto'); // Throws TypeError
 // Pour obtenir le même effet qu'avec Object en ES2015, il
 // faut ajouter une opération de conversion explicite
 Reflect.getPrototypeOf(Object('toto')); // String.prototype
-
- -

Spécifications

- - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('ES2015', '#sec-reflect.getprototypeof', 'Reflect.getPrototypeOf')}}{{Spec2('ES2015')}}Définition initiale.
{{SpecName('ESDraft', '#sec-reflect.getprototypeof', 'Reflect.getPrototypeOf')}}{{Spec2('ESDraft')}} 
- -

Compatibilité des navigateurs

- -

{{Compat("javascript.builtins.Reflect.getPrototypeOf")}}

- -

Voir aussi

- - +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ------------------------------------------------------------------------------------------------------------ | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-reflect.getprototypeof', 'Reflect.getPrototypeOf')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-reflect.getprototypeof', 'Reflect.getPrototypeOf')}} | {{Spec2('ESDraft')}} |   | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Reflect.getPrototypeOf")}} + +## Voir aussi + +- {{jsxref("Reflect")}} +- {{jsxref("Object.getPrototypeOf()")}} diff --git a/files/fr/web/javascript/reference/global_objects/reflect/has/index.md b/files/fr/web/javascript/reference/global_objects/reflect/has/index.md index 934408cf86..0e8be7e9f9 100644 --- a/files/fr/web/javascript/reference/global_objects/reflect/has/index.md +++ b/files/fr/web/javascript/reference/global_objects/reflect/has/index.md @@ -10,41 +10,39 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/has original_slug: Web/JavaScript/Reference/Objets_globaux/Reflect/has --- -
{{JSRef}}
+{{JSRef}} -

La méthode statique Reflect.has() fonctionne comme l'opérateur in mais sous forme d'une fonction.

+La méthode statique **`Reflect`\*\***`.has()`\*\* fonctionne comme [l'opérateur `in`](/fr/docs/Web/JavaScript/Reference/Opérateurs/L_opérateur_in) mais sous forme d'une fonction. -
{{EmbedInteractiveExample("pages/js/reflect-has.html")}}
+{{EmbedInteractiveExample("pages/js/reflect-has.html")}} -

Syntaxe

+## Syntaxe -
Reflect.has(cible, cléPropriété)
-
+ Reflect.has(cible, cléPropriété) -

Paramètres

+### Paramètres -
-
cible
-
L'objet cible dont on souhaite savoir s'il contient la propriété donnée.
-
cléPropriété
-
Le nom de la propriété dont on souhaite vérifier la présence.
-
+- `cible` + - : L'objet cible dont on souhaite savoir s'il contient la propriété donnée. +- `cléPropriété` + - : Le nom de la propriété dont on souhaite vérifier la présence. -

Valeur de retour

+### Valeur de retour -

Un {{jsxref("Boolean","booléen","",1)}} qui indique si la propriété recherchée est présente sur l'objet cible.

+Un {{jsxref("Boolean","booléen","",1)}} qui indique si la propriété recherchée est présente sur l'objet cible. -

Exceptions

+### Exceptions -

Une erreur {{jsxref("TypeError")}} si cible n'est pas un {{jsxref("Object")}}.

+Une erreur {{jsxref("TypeError")}} si `cible` n'est pas un {{jsxref("Object")}}. -

Description

+## Description -

La méthode Reflect.has vous permet de vérifier si une propriété est présente sur un objet. C'est une fonction qui agit comme l'opérateur in.

+La méthode `Reflect.has` vous permet de vérifier si une propriété est présente sur un objet. C'est une fonction qui agit comme l'opérateur [`in`](/fr/docs/Web/JavaScript/Reference/Opérateurs/L_opérateur_in). -

Exemples

+## Exemples -
Reflect.has({x: 0}, "x"); // true
+```js
+Reflect.has({x: 0}, "x"); // true
 Reflect.has({x: 0}, "y"); // false
 
 // renvoie true pour les propriétés présentes
@@ -57,37 +55,20 @@ obj = new Proxy({}, {
 });
 Reflect.has(obj, "bouchon"); // true
 Reflect.has(obj, "bonbon");  // false
-
- -

Spécifications

- - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('ES2015', '#sec-reflect.has', 'Reflect.has')}}{{Spec2('ES2015')}}Définition initiale.
{{SpecName('ESDraft', '#sec-reflect.has', 'Reflect.has')}}{{Spec2('ESDraft')}} 
- -

Compatibilité des navigateurs

- -

{{Compat("javascript.builtins.Reflect.has")}}

- -

Voir aussi

- - +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ---------------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-reflect.has', 'Reflect.has')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-reflect.has', 'Reflect.has')}} | {{Spec2('ESDraft')}} |   | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Reflect.has")}} + +## Voir aussi + +- {{jsxref("Reflect")}} +- [Opérateur `in`](/fr/docs/Web/JavaScript/Reference/Opérateurs/L_opérateur_in) diff --git a/files/fr/web/javascript/reference/global_objects/reflect/index.md b/files/fr/web/javascript/reference/global_objects/reflect/index.md index b61cb63280..a00114cb15 100644 --- a/files/fr/web/javascript/reference/global_objects/reflect/index.md +++ b/files/fr/web/javascript/reference/global_objects/reflect/index.md @@ -9,76 +9,57 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Reflect original_slug: Web/JavaScript/Reference/Objets_globaux/Reflect --- -
{{JSRef}}
+{{JSRef}} -

Reflect est un objet natif qui fournit des méthodes pour les opérations qui peuvent être interceptées en JavaScript (via les proxies). Les méthodes de cet objet sont les mêmes que celles des gestionnaires de proxy. Reflect n'est pas une fonction (y compris pour construire un objet).

+**`Reflect`** est un objet natif qui fournit des méthodes pour les opérations qui peuvent être interceptées en JavaScript (via les proxies). Les méthodes de cet objet sont les mêmes que celles des [gestionnaires de proxy](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Proxy/handler). `Reflect` n'est pas une fonction (y compris pour construire un objet). -

Description

+## Description -

Contrairement à la plupart des objets globaux, Reflect n'est pas un constructeur. Il ne peut pas être utilisé avec l'opérateur {{jsxref("Opérateurs/L_opérateur_new","new")}} ou être invoqué comme une fonction. Les propriétés et méthodes de Reflect sont statiques (comme pour celles de l'objet {{jsxref("Math")}}).

+Contrairement à la plupart des objets globaux, `Reflect` n'est pas un constructeur. Il ne peut pas être utilisé avec l'opérateur {{jsxref("Opérateurs/L_opérateur_new","new")}} ou être invoqué comme une fonction. Les propriétés et méthodes de `Reflect` sont statiques (comme pour celles de l'objet {{jsxref("Math")}}). -

Méthodes

+## Méthodes -

L'objet Reflect fournit des fonctions statiques qui ont les mêmes noms que les méthodes des gestionnaires de proxy et dont certaines correspondent, avec quelques différences, à celles d'{{jsxref("Object")}} :

+L'objet `Reflect` fournit des fonctions statiques qui ont les mêmes noms que les méthodes des [gestionnaires de proxy](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Proxy/handler) et dont certaines correspondent, [avec quelques différences](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Reflect/Comparing_Reflect_and_Object_methods), à celles d'{{jsxref("Object")}} : -
-
{{jsxref("Reflect.apply()")}}
-
Appelle une fonction cible avec les arguments définis par le paramètres args. Voir aussi {{jsxref("Function.prototype.apply()")}}.
-
{{jsxref("Reflect.construct()")}}
-
 L'opérateur {{jsxref("Opérateurs/L_opérateur_new","new")}} comme fonction. C'est équivalent à new cible(...args). Cette méthode permet également d'indiquer un prototype différent.
-
{{jsxref("Reflect.defineProperty()")}}
-
Semblable à {{jsxref("Object.defineProperty()")}}. Renvoie un {{jsxref("Boolean")}}.
-
{{jsxref("Reflect.deleteProperty()")}}
-
L'opérateur {{jsxref("Opérateurs/L_opérateur_delete","delete")}} comme fonction. C'est équivalent à delete cible[nom].
-
{{jsxref("Reflect.get()")}}
-
Une fonction qui renvoie la valeur d'une propriété.
-
{{jsxref("Reflect.getOwnPropertyDescriptor()")}}
-
Semblable à {{jsxref("Object.getOwnPropertyDescriptor()")}}. Renvoie un descripteur de propriété si la propriété existe sur l'objet, {{jsxref("undefined")}} sinon.
-
{{jsxref("Reflect.getPrototypeOf()")}}
-
Identique à {{jsxref("Object.getPrototypeOf()")}}.
-
{{jsxref("Reflect.has()")}}
-
L'opérateur {{jsxref("Opérateurs/L_opérateur_in","in")}} comme fonction. Renvoie un booléen qui indique si une telle propriété existe pour l'objet (qu'elle soit directement rattachée ou héritée).
-
{{jsxref("Reflect.isExtensible()")}}
-
La même fonction que {{jsxref("Object.isExtensible()")}}.
-
{{jsxref("Reflect.ownKeys()")}}
-
Renvoie un tableau de chaînes de caractères qui correspondent aux noms des propriétés propres (celles qui ne sont pas héritées) de l'objet.
-
{{jsxref("Reflect.preventExtensions()")}}
-
Semblable à {{jsxref("Object.preventExtensions()")}}. Renvoie un {{jsxref("Boolean")}}.
-
{{jsxref("Reflect.set()")}}
-
Une fonction qui affecte des valeurs à des propriétés. Renvoie un {{jsxref("Boolean")}} qui vaut true si la mise à jour a bien été effectuée.
-
{{jsxref("Reflect.setPrototypeOf()")}}
-
Une fonction qui permet de définir le prototype d'un objet.
-
+- {{jsxref("Reflect.apply()")}} + - : Appelle une fonction cible avec les arguments définis par le paramètres `args`. Voir aussi {{jsxref("Function.prototype.apply()")}}. +- {{jsxref("Reflect.construct()")}} + - :  L'opérateur {{jsxref("Opérateurs/L_opérateur_new","new")}} comme fonction. C'est équivalent à `new cible(...args)`. Cette méthode permet également d'indiquer un prototype différent. +- {{jsxref("Reflect.defineProperty()")}} + - : Semblable à {{jsxref("Object.defineProperty()")}}. Renvoie un {{jsxref("Boolean")}}. +- {{jsxref("Reflect.deleteProperty()")}} + - : L'opérateur {{jsxref("Opérateurs/L_opérateur_delete","delete")}} comme fonction. C'est équivalent à `delete cible[nom]`. +- {{jsxref("Reflect.get()")}} + - : Une fonction qui renvoie la valeur d'une propriété. +- {{jsxref("Reflect.getOwnPropertyDescriptor()")}} + - : Semblable à {{jsxref("Object.getOwnPropertyDescriptor()")}}. Renvoie un descripteur de propriété si la propriété existe sur l'objet, {{jsxref("undefined")}} sinon. +- {{jsxref("Reflect.getPrototypeOf()")}} + - : Identique à {{jsxref("Object.getPrototypeOf()")}}. +- {{jsxref("Reflect.has()")}} + - : L'opérateur {{jsxref("Opérateurs/L_opérateur_in","in")}} comme fonction. Renvoie un booléen qui indique si une telle propriété existe pour l'objet (qu'elle soit directement rattachée ou héritée). +- {{jsxref("Reflect.isExtensible()")}} + - : La même fonction que {{jsxref("Object.isExtensible()")}}. +- {{jsxref("Reflect.ownKeys()")}} + - : Renvoie un tableau de chaînes de caractères qui correspondent aux noms des propriétés propres (celles qui ne sont pas héritées) de l'objet. +- {{jsxref("Reflect.preventExtensions()")}} + - : Semblable à {{jsxref("Object.preventExtensions()")}}. Renvoie un {{jsxref("Boolean")}}. +- {{jsxref("Reflect.set()")}} + - : Une fonction qui affecte des valeurs à des propriétés. Renvoie un {{jsxref("Boolean")}} qui vaut `true` si la mise à jour a bien été effectuée. +- {{jsxref("Reflect.setPrototypeOf()")}} + - : Une fonction qui permet de définir le prototype d'un objet. -

Spécifications

+## Spécifications - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('ES2015', '#sec-reflect-object', 'Reflect')}}{{Spec2('ES2015')}}Définition initiale.
{{SpecName('ESDraft', '#sec-reflect-object', 'Reflect')}}{{Spec2('ESDraft')}}Retrait de Reflect.enumerate
+| Spécification | État | Commentaires | +| ---------------------------------------------------------------------------- | ---------------------------- | ------------------------------ | +| {{SpecName('ES2015', '#sec-reflect-object', 'Reflect')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-reflect-object', 'Reflect')}} | {{Spec2('ESDraft')}} | Retrait de `Reflect.enumerate` | -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("javascript.builtins.Reflect")}}

+{{Compat("javascript.builtins.Reflect")}} -

Voir aussi

+## Voir aussi - +- L'objet global {{jsxref("Proxy")}}. +- L'objet {{jsxref("Proxy.handler", "handler")}}. diff --git a/files/fr/web/javascript/reference/global_objects/reflect/isextensible/index.md b/files/fr/web/javascript/reference/global_objects/reflect/isextensible/index.md index 8e62fcea08..a779cf765a 100644 --- a/files/fr/web/javascript/reference/global_objects/reflect/isextensible/index.md +++ b/files/fr/web/javascript/reference/global_objects/reflect/isextensible/index.md @@ -10,43 +10,41 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/isExtensible original_slug: Web/JavaScript/Reference/Objets_globaux/Reflect/isExtensible --- -
{{JSRef}}
+{{JSRef}} -

La méthode statique Reflect.isExtensible() permet de déterminer si un objet est extensible (i.e. si on peut lui ajouter de nouvelles propriétés). Elle est semblable à la méthode {{jsxref("Object.isExtensible()")}} (modulo quelques différences).

+La méthode statique **`Reflect.isExtensible()`** permet de déterminer si un objet est extensible (i.e. si on peut lui ajouter de nouvelles propriétés). Elle est semblable à la méthode {{jsxref("Object.isExtensible()")}} (modulo [quelques différences](#diffs)). -
{{EmbedInteractiveExample("pages/js/reflect-isextensible.html", "taller")}}
+{{EmbedInteractiveExample("pages/js/reflect-isextensible.html", "taller")}} -

Syntaxe

+## Syntaxe -
Reflect.isExtensible(cible)
-
+ Reflect.isExtensible(cible) -

Paramètres

+### Paramètres -
-
cible
-
L'objet cible dont on souhaite savoir s'il est extensible.
-
+- `cible` + - : L'objet cible dont on souhaite savoir s'il est extensible. -

Valeur de retour

+### Valeur de retour -

Un {{jsxref("Boolean","booléen", "",1)}} qui indique si la cible est extensible ou non.

+Un {{jsxref("Boolean","booléen", "",1)}} qui indique si la cible est extensible ou non. -

Exceptions

+### Exceptions -

Une erreur {{jsxref("TypeError")}} si cible n'est pas un {{jsxref("Object")}}.

+Une erreur {{jsxref("TypeError")}} si `cible` n'est pas un {{jsxref("Object")}}. -

Description

+## Description -

La méthode Reflect.isExtensible permet de déterminer si un objet est extensible (autrement dit si on peut lui ajouter de nouvelles propriétés). Cette méthode est semblable à la méthode {{jsxref("Object.isExtensible()")}}.

+La méthode `Reflect.isExtensible` permet de déterminer si un objet est extensible (autrement dit si on peut lui ajouter de nouvelles propriétés). Cette méthode est semblable à la méthode {{jsxref("Object.isExtensible()")}}. -

Exemples

+## Exemples -

Utiliser Reflect.isExtensible()

+### Utiliser `Reflect.isExtensible()` -

Voir aussi {{jsxref("Object.isExtensible()")}}.

+Voir aussi {{jsxref("Object.isExtensible()")}}. -
// Les nouveaux objets sont extensibles.
+```js
+// Les nouveaux objets sont extensibles.
 var vide = {};
 Reflect.isExtensible(vide); // true
 
@@ -63,48 +61,32 @@ Reflect.isExtensible(scellé); // false
 // également non-extensibles.
 var gelé = Object.freeze({});
 Reflect.isExtensible(gelé); // false
-
+``` -

Différence avec Object.isExtensible()

+### Différence avec `Object.isExtensible()` -

Si le premier argument passé à la méthode n'est pas un objet (autrement dit si la valeur est une valeur primitive), cela provoquera une exception {{jsxref("TypeError")}}. La méthode {{jsxref("Object.isExtensible()")}} aurait commencé par convertir l'argument en un objet.

+Si le premier argument passé à la méthode n'est pas un objet (autrement dit si la valeur est une valeur primitive), cela provoquera une exception {{jsxref("TypeError")}}. La méthode {{jsxref("Object.isExtensible()")}} aurait commencé par convertir l'argument en un objet. -
Reflect.isExtensible(1);
+```js
+Reflect.isExtensible(1);
 // TypeError: 1 is not an object
 
 Object.isExtensible(1);
 // false
-
- -

Spécifications

- - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('ES2015', '#sec-reflect.isextensible', 'Reflect.isExtensible')}}{{Spec2('ES2015')}}Définition initiale.
{{SpecName('ESDraft', '#sec-reflect.isextensible', 'Reflect.isExtensible')}}{{Spec2('ESDraft')}} 
- -

Compatibilité des navigateurs

- -

{{Compat("javascript.builtins.Reflect.isExtensible")}}

- -

Voir aussi

- - +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ---------------------------------------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-reflect.isextensible', 'Reflect.isExtensible')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-reflect.isextensible', 'Reflect.isExtensible')}} | {{Spec2('ESDraft')}} |   | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Reflect.isExtensible")}} + +## Voir aussi + +- {{jsxref("Reflect")}} +- {{jsxref("Object.isExtensible()")}} diff --git a/files/fr/web/javascript/reference/global_objects/reflect/ownkeys/index.md b/files/fr/web/javascript/reference/global_objects/reflect/ownkeys/index.md index 88d1747eff..2a1f0a4323 100644 --- a/files/fr/web/javascript/reference/global_objects/reflect/ownkeys/index.md +++ b/files/fr/web/javascript/reference/global_objects/reflect/ownkeys/index.md @@ -10,81 +10,60 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/ownKeys original_slug: Web/JavaScript/Reference/Objets_globaux/Reflect/ownKeys --- -

{{JSRef}}

+{{JSRef}} -

La méthode statique Reflect.ownKeys() renvoie un tableau qui contient les clés des propriétés propres (non héritées) de l'objet  cible.

+La méthode statique **`Reflect.ownKeys()`** renvoie un tableau qui contient les clés des propriétés propres (non héritées) de l'objet  `cible`. -
{{EmbedInteractiveExample("pages/js/reflect-ownkeys.html")}}
+{{EmbedInteractiveExample("pages/js/reflect-ownkeys.html")}} -

Syntaxe

+## Syntaxe -
Reflect.ownKeys(cible)
-
+ Reflect.ownKeys(cible) -

Paramètres

+### Paramètres -
-
cible
-
L'objet cible dont on souhaite obtenir les noms et symboles des propriétés propres.
-
+- `cible` + - : L'objet cible dont on souhaite obtenir les noms et symboles des propriétés propres. -

Valeur de retour

+### Valeur de retour -

Un objet {{jsxref("Array")}} qui contient les clés des propriétés propres de cible.

+Un objet {{jsxref("Array")}} qui contient les clés des propriétés propres de `cible`. -

Exceptions

+### Exceptions -

Une erreur {{jsxref("TypeError")}} si cible n'est pas un {{jsxref("Object")}}.

+Une erreur {{jsxref("TypeError")}} si `cible` n'est pas un {{jsxref("Object")}}. -

Description

+## Description -

La méthode Reflect.ownKeys renvoie un tableau dont les éléments sont les clés des propriétés propres de l'objet cible. Sa valeur de retour est équivalente à {{jsxref("Object.getOwnPropertyNames", "Object.getOwnPropertyNames(target)", "", 1)}}.concat({{jsxref("Object.getOwnPropertySymbols", "Object.getOwnPropertySymbols(target)", "", 1)}}).

+La méthode `Reflect.ownKeys` renvoie un tableau dont les éléments sont les clés des propriétés propres de l'objet `cible`. Sa valeur de retour est équivalente à `{{jsxref("Object.getOwnPropertyNames", "Object.getOwnPropertyNames(target)", "", 1)}}.concat({{jsxref("Object.getOwnPropertySymbols", "Object.getOwnPropertySymbols(target)", "", 1)}})`. -

Exemples

+## Exemples -
Reflect.ownKeys({z: 3, y: 2, x: 1}); // [ "z", "y", "x" ]
-Reflect.ownKeys([]); // ["length"]
+    Reflect.ownKeys({z: 3, y: 2, x: 1}); // [ "z", "y", "x" ]
+    Reflect.ownKeys([]); // ["length"]
 
-var sym = Symbol.for("comète");
-var sym2 = Symbol.for("météore");
-var obj = {[sym]: 0, "str1": 0, "773": 0, "0": 0,
-           [sym2]: 0, "-1": 0, "8": 0, "seconde str": 0};
-Reflect.ownKeys(obj);
-// [ "0", "8", "773", "str1", "-1", "seconde str", Symbol(comète), Symbol(météore) ]
-// Indices dans l'ordre numérique
-// Chaînes de caractères dans l'ordre d'insertion
-// Symboles dans l'ordre d'insertion
-
+ var sym = Symbol.for("comète"); + var sym2 = Symbol.for("météore"); + var obj = {[sym]: 0, "str1": 0, "773": 0, "0": 0, + [sym2]: 0, "-1": 0, "8": 0, "seconde str": 0}; + Reflect.ownKeys(obj); + // [ "0", "8", "773", "str1", "-1", "seconde str", Symbol(comète), Symbol(météore) ] + // Indices dans l'ordre numérique + // Chaînes de caractères dans l'ordre d'insertion + // Symboles dans l'ordre d'insertion -

Spécifications

+## Spécifications - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('ES2015', '#sec-reflect.ownkeys', 'Reflect.ownKeys')}}{{Spec2('ES2015')}}Définition initiale.
{{SpecName('ESDraft', '#sec-reflect.ownkeys', 'Reflect.ownKeys')}}{{Spec2('ESDraft')}} 
+| Spécification | État | Commentaires | +| ---------------------------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-reflect.ownkeys', 'Reflect.ownKeys')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-reflect.ownkeys', 'Reflect.ownKeys')}} | {{Spec2('ESDraft')}} |   | -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("javascript.builtins.Reflect.ownKeys")}}

+{{Compat("javascript.builtins.Reflect.ownKeys")}} -

Voir aussi

+## Voir aussi - +- {{jsxref("Reflect")}} +- {{jsxref("Object.getOwnPropertyNames()")}} diff --git a/files/fr/web/javascript/reference/global_objects/reflect/preventextensions/index.md b/files/fr/web/javascript/reference/global_objects/reflect/preventextensions/index.md index b0f644aa98..5dbce6c2e9 100644 --- a/files/fr/web/javascript/reference/global_objects/reflect/preventextensions/index.md +++ b/files/fr/web/javascript/reference/global_objects/reflect/preventextensions/index.md @@ -10,91 +10,73 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/preventExtensions original_slug: Web/JavaScript/Reference/Objets_globaux/Reflect/preventExtensions --- -
{{JSRef}}
+{{JSRef}} -

La méthode statique Reflect.preventExtensions() permet d'empêcher d'ajouter de nouvelles propriétés à un objet. Cette méthode est semblable à la méthode {{jsxref("Object.preventExtensions()")}} (modulo quelques différences).

+La méthode statique **`Reflect.preventExtensions()`** permet d'empêcher d'ajouter de nouvelles propriétés à un objet. Cette méthode est semblable à la méthode {{jsxref("Object.preventExtensions()")}} (modulo [quelques différences](#diffs)). -
{{EmbedInteractiveExample("pages/js/reflect-preventextensions.html")}}
+{{EmbedInteractiveExample("pages/js/reflect-preventextensions.html")}} -

Syntaxe

+## Syntaxe -
Reflect.preventExtensions(cible)
-
+ Reflect.preventExtensions(cible) -

Paramètres

+### Paramètres -
-
cible
-
L'objet cible dont on veut empêcher l'ajout d'autres propriétés.
-
+- `cible` + - : L'objet cible dont on veut empêcher l'ajout d'autres propriétés. -

Valeur de retour

+### Valeur de retour -

Un {{jsxref("Boolean","booléen","",1)}} qui indique si l'interdiction a bien été mise en place sur l'objet cible.

+Un {{jsxref("Boolean","booléen","",1)}} qui indique si l'interdiction a bien été mise en place sur l'objet cible. -

Exceptions

+### Exceptions -

Une erreur {{jsxref("TypeError")}} si cible n'est pas un {{jsxref("Object")}}.

+Une erreur {{jsxref("TypeError")}} si `cible` n'est pas un {{jsxref("Object")}}. -

Description

+## Description -

La méthode Reflect.preventExtensions permet d'empêcher l'ajout de nouvelles propriétés sur un objet. Cette méthode est semblable à {{jsxref("Object.preventExtensions()")}}.

+La méthode `Reflect.preventExtensions` permet d'empêcher l'ajout de nouvelles propriétés sur un objet. Cette méthode est semblable à {{jsxref("Object.preventExtensions()")}}. -

Exemples

+## Exemples -

Utiliser Reflect.preventExtensions()

+### Utiliser `Reflect.preventExtensions()` -

Voir aussi {{jsxref("Object.preventExtensions()")}}.

+Voir aussi {{jsxref("Object.preventExtensions()")}}. -
// Par défaut les objets sont extensibles
+```js
+// Par défaut les objets sont extensibles
 var vide = {};
 Reflect.isExtensible(vide); // === true
 
 // ...mais cela peut être modifié
 Reflect.preventExtensions(vide);
 Reflect.isExtensible(vide); // === false
-
+``` -

Différences avec Object.preventExtensions()

+### Différences avec `Object.preventExtensions()` -

Si le premier argument de cette méthode n'est pas un objet (autrement dit c'est une valeur primitive), cela provoquera une {{jsxref("TypeError")}}. {{jsxref("Object.preventExtensions()")}}, quant à elle, convertira l'argument passé en un objet.

+Si le premier argument de cette méthode n'est pas un objet (autrement dit c'est une valeur primitive), cela provoquera une {{jsxref("TypeError")}}. {{jsxref("Object.preventExtensions()")}}, quant à elle, convertira l'argument passé en un objet. -
Reflect.preventExtensions(1);
+```js
+Reflect.preventExtensions(1);
 // TypeError: 1 is not an object
 
 Object.preventExtensions(1);
 // 1
-
- -

Spécifications

- - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('ES2015', '#sec-reflect.preventextensions', 'Reflect.preventExtensions')}}{{Spec2('ES2015')}}Définition initiale.
{{SpecName('ESDraft', '#sec-reflect.preventextensions', 'Reflect.preventExtensions')}}{{Spec2('ESDraft')}}
- -

Compatibilité des navigateurs

- -

{{Compat("javascript.builtins.Reflect.preventExtensions")}}

- -

Voir aussi

- - +``` + +## Spécifications + +| Spécification | État | Commentaires | +| -------------------------------------------------------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-reflect.preventextensions', 'Reflect.preventExtensions')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-reflect.preventextensions', 'Reflect.preventExtensions')}} | {{Spec2('ESDraft')}} | | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Reflect.preventExtensions")}} + +## Voir aussi + +- {{jsxref("Reflect")}} +- {{jsxref("Object.isExtensible()")}} diff --git a/files/fr/web/javascript/reference/global_objects/reflect/set/index.md b/files/fr/web/javascript/reference/global_objects/reflect/set/index.md index 4a5280f0ac..5d3d0ff05d 100644 --- a/files/fr/web/javascript/reference/global_objects/reflect/set/index.md +++ b/files/fr/web/javascript/reference/global_objects/reflect/set/index.md @@ -10,47 +10,45 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/set original_slug: Web/JavaScript/Reference/Objets_globaux/Reflect/set --- -
{{JSRef}}
+{{JSRef}} -

La méthode statique Reflect.set() permet de définir ou de modifier une propriété sur un objet.

+La méthode statique **`Reflect.set()`** permet de définir ou de modifier une propriété sur un objet. -
{{EmbedInteractiveExample("pages/js/reflect-set.html")}}
+{{EmbedInteractiveExample("pages/js/reflect-set.html")}} -

Syntaxe

+## Syntaxe -
Reflect.set(cible, cléPropriété, valeur[, récepteur])
-
+ Reflect.set(cible, cléPropriété, valeur[, récepteur]) -

Paramètres

+### Paramètres -
-
cible
-
L'objet cible sur lequel on veut définir ou modifier la propriété.
-
cléPropriété
-
Le nom de la propriété à définir ou à modifier.
-
valeur
-
La valeur pour la propriété.
-
récepteur{{optional_inline}}
-
La valeur de this pour l'appel à cible si un mutateur (setter) est utilisé.
-
+- `cible` + - : L'objet cible sur lequel on veut définir ou modifier la propriété. +- `cléPropriété` + - : Le nom de la propriété à définir ou à modifier. +- `valeur` + - : La valeur pour la propriété. +- `récepteur`{{optional_inline}} + - : La valeur de `this` pour l'appel à `cible` si un mutateur (_setter_) est utilisé. -

Valeur de retour

+### Valeur de retour -

Un {{jsxref("Boolean","booléen","",1)}} qui indique si la définition/modification de la propriété a réussi.

+Un {{jsxref("Boolean","booléen","",1)}} qui indique si la définition/modification de la propriété a réussi. -

Exceptions

+### Exceptions -

Une erreur {{jsxref("TypeError")}} si cible n'est pas un {{jsxref("Object")}}.

+Une erreur {{jsxref("TypeError")}} si `cible` n'est pas un {{jsxref("Object")}}. -

Description

+## Description -

La méthode Reflect.set permet de définir une propriété sur un objet. Elle effectue une affectation de propriété et est semblable à la syntaxe pour accéder à un propriété mais sous la forme d'une fonction.

+La méthode `Reflect.set` permet de définir une propriété sur un objet. Elle effectue une affectation de propriété et est semblable à la syntaxe pour [accéder à un propriété](/fr/docs/Web/JavaScript/Reference/Opérateurs/Opérateurs_de_membres) mais sous la forme d'une fonction. -

Exemples

+## Exemples -

Utiliser Reflect.set()

+### Utiliser `Reflect.set()` -
// Object
+```js
+// Object
 var obj = {};
 Reflect.set(obj, "prop", "value"); // true
 obj.prop; // "value"
@@ -70,37 +68,20 @@ var obj = {};
 Reflect.set(obj); // true
 Reflect.getOwnPropertyDescriptor(obj, "undefined");
 // { value: undefined, writable: true, enumerable: true, configurable: true }
-
- -

Spécifications

- - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('ES2015', '#sec-reflect.set', 'Reflect.set')}}{{Spec2('ES2015')}}Définition initiale.
{{SpecName('ESDraft', '#sec-reflect.set', 'Reflect.set')}}{{Spec2('ESDraft')}} 
- -

Compatibilité des navigateurs

- -

{{Compat("javascript.builtins.Reflect.set")}}

- -

Voir aussi

- - +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ---------------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-reflect.set', 'Reflect.set')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-reflect.set', 'Reflect.set')}} | {{Spec2('ESDraft')}} |   | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Reflect.set")}} + +## Voir aussi + +- {{jsxref("Reflect")}} +- [Accesseurs de propriété](/fr/docs/Web/JavaScript/Reference/Opérateurs/Opérateurs_de_membres) diff --git a/files/fr/web/javascript/reference/global_objects/reflect/setprototypeof/index.md b/files/fr/web/javascript/reference/global_objects/reflect/setprototypeof/index.md index 2cb34af8fa..e4ac8b0a47 100644 --- a/files/fr/web/javascript/reference/global_objects/reflect/setprototypeof/index.md +++ b/files/fr/web/javascript/reference/global_objects/reflect/setprototypeof/index.md @@ -10,43 +10,41 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/setPrototypeOf original_slug: Web/JavaScript/Reference/Objets_globaux/Reflect/setPrototypeOf --- -
{{JSRef}}
+{{JSRef}} -

la méthode statique Reflect.setPrototypeOf() est semblable à la méthode {{jsxref("Object.setPrototypeOf()")}} (exception faite de la valeur de retour). Elle permet de définir le prototype (c'est-à-dire la propriété interne [[Prototype]]) d'un objet donné avec un autre objet ou {{jsxref("null")}}. Cette méthode renvoie true si l'opération a réussi et false sinon.

+la méthode statique **`Reflect.setPrototypeOf()`** est semblable à la méthode {{jsxref("Object.setPrototypeOf()")}} (exception faite de la valeur de retour). Elle permet de définir le prototype (c'est-à-dire la propriété interne `[[Prototype]]`) d'un objet donné avec un autre objet ou {{jsxref("null")}}. Cette méthode renvoie `true` si l'opération a réussi et `false` sinon. -
{{EmbedInteractiveExample("pages/js/reflect-setprototypeof.html")}}
+{{EmbedInteractiveExample("pages/js/reflect-setprototypeof.html")}} -

Syntaxe

+## Syntaxe -
Reflect.setPrototypeOf(cible, prototype)
-
+ Reflect.setPrototypeOf(cible, prototype) -

Paramètres

+### Paramètres -
-
cible
-
L'objet cible dont on souhaite modifier le prototype.
-
prototype
-
Le nouveau prototype à appliquer à l'objet cible (ça peut être un objet ou {{jsxref("null")}}).
-
+- `cible` + - : L'objet cible dont on souhaite modifier le prototype. +- `prototype` + - : Le nouveau prototype à appliquer à l'objet cible (ça peut être un objet ou {{jsxref("null")}}). -

Valeur de retour

+### Valeur de retour -

Un {{jsxref("Boolean","booléen","",1)}} qui indique si le prototype a correctement été modifié.

+Un {{jsxref("Boolean","booléen","",1)}} qui indique si le prototype a correctement été modifié. -

Exceptions

+### Exceptions -

Une erreur {{jsxref("TypeError")}} si cible n'est pas un {{jsxref("Object")}} ou si prototype n'est ni un objet ni {{jsxref("null")}}.

+Une erreur {{jsxref("TypeError")}} si `cible` n'est pas un {{jsxref("Object")}} ou si `prototype` n'est ni un objet ni {{jsxref("null")}}. -

Description

+## Description -

La méthode Reflect.setPrototypeOf permet de modifier le prototype (qui est la valeur de la propriété interne [[Prototype]]) d'un objet donné.

+La méthode `Reflect.setPrototypeOf` permet de modifier le prototype (qui est la valeur de la propriété interne `[[Prototype]]`) d'un objet donné. -

Exemples

+## Exemples -

Utiliser Reflect.setPrototypeOf()

+### Utiliser `Reflect.setPrototypeOf()` -
Reflect.setPrototypeOf({}, Object.prototype); // true
+```js
+Reflect.setPrototypeOf({}, Object.prototype); // true
 
 // On peut modifier le [[Prototype]] d'un objet
 // pour que celui-ci soit null.
@@ -61,37 +59,20 @@ Reflect.setPrototypeOf(Object.freeze({}), null); // false
 var target = {};
 var proto = Object.create(target);
 Reflect.setPrototypeOf(target, proto); // false
-
- -

Spécifications

- - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('ES2015', '#sec-reflect.setprototypeof', 'Reflect.setPrototypeOf')}}{{Spec2('ES2015')}}Définition initiale.
{{SpecName('ESDraft', '#sec-reflect.setprototypeof', 'Reflect.setPrototypeOf')}}{{Spec2('ESDraft')}}
- -

Compatibilité des navigateurs

- -

{{Compat("javascript.builtins.Reflect.setPrototypeOf")}}

- -

Voir aussi

- - +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ------------------------------------------------------------------------------------------------------------ | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-reflect.setprototypeof', 'Reflect.setPrototypeOf')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-reflect.setprototypeof', 'Reflect.setPrototypeOf')}} | {{Spec2('ESDraft')}} | | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Reflect.setPrototypeOf")}} + +## Voir aussi + +- {{jsxref("Reflect")}} +- {{jsxref("Object.setPrototypeOf()")}} -- cgit v1.2.3-54-g00ecf