--- title: Object.prototype.__defineGetter__() slug: Web/JavaScript/Reference/Global_Objects/Object/__defineGetter__ tags: - JavaScript - Objeto - Prototipo - Prototype - metodo translation_of: Web/JavaScript/Reference/Global_Objects/Object/__defineGetter__ original_slug: Web/JavaScript/Referencia/Objetos_globales/Object/__defineGetter__ ---
Esta característica está obsoleta en favor de definir getters usando el object initializer syntax o la API {{jsxref("Object.defineProperty()")}}.
En todo caso, como es ampliamente implementada y usada en la Web, es poco probable que los navegadores dejen de implementarla.
El método __defineGetter__
enlaza una propiedad de un objeto a una función a ser llamada cuando esa propiedad es buscada.
obj.__defineGetter__(prop, func)
prop
func
The __defineGetter__
allows a {{jsxref("Operators/get", "getter", "", 1)}} to be defined on a pre-existing object.
// Forma no-estándar y obsoleta var o = {}; o.__defineGetter__('gimmeFive', function() { return 5; }); console.log(o.gimmeFive); // 5 // Formas compatibles con el estándar // Usando el operador get var o = { get gimmeFive() { return 5; } }; console.log(o.gimmeFive); // 5 // Usando Object.defineProperty var o = {}; Object.defineProperty(o, 'gimmeFive', { get: function() { return 5; } }); console.log(o.gimmeFive); // 5
Especificación | Estado | Comentario |
---|---|---|
{{SpecName('JavaScript', '#object.prototype.__definegetter__', 'Object.prototype.__defineGetter__()')}} | {{Spec2('JavaScript')}} |