Object.prototype.__defineGetter__()
Advertencia: Esta característica está obsoleta en favor de definir getters usando el object initializer syntax (en-US) o la API 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.
Sintaxis
obj.__defineGetter__(prop, func)
Parámetros
prop
-
Un texto (string) que contiene el nombre de la propiedad para enlazar la función dada.
func
-
A function to be bound to a lookup of the specified property.
Descripción
The __defineGetter__
allows a getter (en-US) to be defined on a pre-existing object.
Ejemplos
// 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
Especificaciones
Specification |
---|
ECMAScript Language Specification # sec-object.prototype.__defineGetter__ |
Compatibilidad con navegadores
BCD tables only load in the browser
Mira también
Object.prototype.__defineSetter__()
(en-US)get
(en-US) operatorObject.defineProperty()
Object.prototype.__lookupGetter__()
(en-US)Object.prototype.__lookupSetter__()
(en-US)- JS Guide: Defining Getters and Setters
- [Blog Post] Deprecation of __defineGetter__ and __defineSetter__
- Error 647423 en Firefox