Object.prototype.__defineGetter__()

Attention : Cette fonctionnalité est dépréciée et il est préférable d'utiliser l'API Object.defineProperty() et la syntaxe d'initialisation d'objets. Toutefois, __defineGetter__ est largement utilisée sur le Web et est implémentée. Il est donc peu probable que les navigateurs retirent cette méthode.

La méthode __defineGetter__ permet de lier une propriété d'un objet à une fonction à exécuter lorsqu'on accède à la propriété.

Syntaxe

js
obj.__defineGetter__(prop, func);

Paramètres

prop

Une chaîne de caractères contenant le nom de la propriété à lier à la fonction donnée.

func

Une fonction à utiliser à chaque fois qu'on accède à la propriété.

Valeur de retour

Description

La méthode __defineGetter__ permet de définir un accesseur sur un objet pré-existant.

Exemples

js
// Méthode non-standard et dépréciée

var o = {};
o.__defineGetter__("gimmeFive", function () {
  return 5;
});
console.log(o.gimmeFive); // 5

// Façon standard

// En utilisant l'opérateur get
var o = {
  get gimmeFive() {
    return 5;
  },
};
console.log(o.gimmeFive); // 5

// En utilisant Object.defineProperty
var o = {};
Object.defineProperty(o, "gimmeFive", {
  get: function () {
    return 5;
  },
});
console.log(o.gimmeFive); // 5

Spécifications

Specification
ECMAScript Language Specification
# sec-object.prototype.__defineGetter__

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi