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

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

// 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