MDN may have intermittent access issues April 18 13:00 - April 19 01:00 UTC. See whistlepig.mozilla.org for all notifications.

mozilla
Vos résultats de recherche

    Object.getOwnPropertyDescriptor()

    Résumé

    La méthode Object.getOwnPropertyDescriptor() renvoie un descripteur de la propriété propre d'un objet (c'est-à-dire une propriété directement présente et pas héritée via la chaîne de prototypes).

    Syntaxe

    Object.getOwnPropertyDescriptor(obj, prop)

    Paramètres

    obj
    L'objet sur lequel on cherche la propriété.
    prop
    Le nom de la propriété dont on souhaite avoir la description.

    Valeur de retour

    Un descripteur de propriété de la propriété souhaitée si elle existe pour l'objet en question, sinon undefined.

    Description

    Cette méthode permet d'avoir des informations précises sur une propriété. Une propriété JavaScript est un nom (qui est une chaîne de caractères) associé à un descripteur. Voir la page Object.defineProperty pour plus d'informations sur les descripteurs de propriétés.

    Un descripteur de propriété est un enregistrement qui dispose des attributs suivants :

    value
    La valeur associée à la propriété (pour les descripteurs de données uniquement).
    writable
    true si et seulement si la valeur associée à la propriété peut être changée (pour les descripteurs de données uniquement).
    get
    Une fonction qui joue le rôle d'accesseur (getter) pour la propriété ou undefined s'il n'y a pas d'accesseur (pour les descripteurs d'accesseurs uniquement).
    set
    Une fonction qui joue le rôle de mutateur (setter) pour la propriété ou undefined s'il n'y a pas de tel mutateur (pour les descripteurs d'accesseurs uniquement).
    configurable
    true si et seulement si le type du descripteur peut être changé et si la propriété peut être supprimée de l'objet.
    enumerable
    true si et seulement si la propriété doit apparaître lors d'une énumération des propriétés de l'objet.

    Exemples

    var o, d;
    
    o = { get toto() { return 17; } };
    d = Object.getOwnPropertyDescriptor(o, "toto");
    // d is { configurable: true, enumerable: true, get: /*l'accesseur*/, set: undefined }
    
    o = { truc: 42 };
    d = Object.getOwnPropertyDescriptor(o, "truc");
    // d is { configurable: true, enumerable: true, value: 42, writable: true }
    
    o = {};
    Object.defineProperty(o, "machin", { value: 8675309, writable: false, enumerable: false });
    d = Object.getOwnPropertyDescriptor(o, "machin");
    // d is { value: 8675309, writable: false, enumerable: false, configurable: false }

    Notes

    Pour ES5, si le premier argument de la méthode n'est pas un objet (mais une valeur d'un autre type), une exception TypeError sera levée. Pour ES6, un argument non-objet sera d'abord converti en objet avant d'appliquer la méthode.

    > Object.getOwnPropertyDescriptor("toto", 0)
    TypeError: "toto" n'est pas un objet  // code ES5
    
    > Object.getOwnPropertyDescriptor("toto", 0)
    {configurable:false, enumerable:true, value:"f", writable:false}  // code ES6
    

    Spécifications

    Spécification Statut Commentaires
    ECMAScript 5.1 (ECMA-262)
    La définition de 'Object.getOwnPropertyDescriptor' dans cette spécification.
    Standard Définition initiale.
    Implémentée avec JavaScript 1.8.5
    ECMAScript 6 (ECMA-262)
    La définition de 'Object.getOwnPropertyDescriptor' dans cette spécification.
    Draft  

    Compatibilité des navigateurs

    Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
    Support simple 5 4.0 (2) 8 12 alpha 5
    Fonctionnalité Android Chrome pour Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
    Support simple ? ? ? ? ? ?

    Tableau basé sur le tableau de compatibilité de Kangax.

    Voir aussi

    Étiquettes et contributeurs liés au document

    Contributors to this page: SphinxKnight
    Dernière mise à jour par : SphinxKnight,