Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.

View in English Always switch to English

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

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

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

Compatibilidad con navegadores

Mira también