Reflect.getPrototypeOf()

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

Syntaxe

Reflect.getPrototypeOf(cible)

Paramètres

cible

L'objet cible dont on souhaite obtenir le prototype.

Valeur de retour

Le prototype de l'objet ou null s'il n'y a aucune propriété héritée.

Exceptions levées

Une erreur TypeError si cible n'est pas un Object.

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.

Exemples

Utiliser Reflect.getPrototypeOf()

Reflect.getPrototypeOf({}); // Object.prototype
Reflect.getPrototypeOf(Object.prototype); // null
Reflect.getPrototypeOf(Object.create(null)); // null

Comparaison avec Object.getPrototypeOf()

// Résultat identiques pour les objets
Object.getPrototypeOf({});  // Object.prototype
Reflect.getPrototypeOf({}); // Object.prototype

// Exception levée avec ES5 pour les valeurs qui ne sont pas des objets
Object.getPrototypeOf('toto');  // Throws TypeError
Reflect.getPrototypeOf('toto'); // Throws TypeError

// Avec ES2015 (ES6), seul Reflect lève une exception
// Object convertit automatiquement les valeurs en objets
Object.getPrototypeOf('toto');  // String.prototype
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 État Commentaires
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de 'Reflect.getPrototypeOf' dans cette spécification.
Standard Définition initiale.
ECMAScript (ECMA-262)
La définition de 'Reflect.getPrototypeOf' dans cette spécification.
Standard évolutif  

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi