Object.prototype.__defineGetter__()
Obsoleto
Evita usar esta característica en proyectos nuevos. TC39 included accessor methods in Annex B of the ECMAScript specification, which covers JavaScript features with "one or more undesirable characteristics and in the absence of legacy usage would be removed." Esta característica podría eliminarse de los estándares web o de los navegadores.>
Advertencia:
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
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 |
|---|
| ECMAScript® 2027 Language Specification> # sec-object.prototype.__defineGetter__> |