Este articulo necesita una revisión editorial. Cómo puedes ayudar.
Esta traducción está incompleta. Por favor, ayuda a traducir este artículo del inglés.
Esta característica está obsoleta en favor de definir getters usando el object initializer syntax 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 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
| Especificación | Estado | Comentario |
|---|---|---|
| JavaScript, a.k.a. Web ECMAScript The definition of 'Object.prototype.__defineGetter__()' in that specification. |
Living Standard |
Compatibilidad de navegadores
| Característica | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | 11 | (Yes) | (Yes) |
| Característica | Android | Chrome para Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | (Yes) | ? | (Yes) | (Yes) |