Object.prototype.__defineGetter__()

Aviso: Esta característica está descontinuada em favor de definindo getters usando a sintaxe de inicialização de objetoou a API Object.defineProperty(). Enquanto esta característica é amplamente implementada, ela está somente descrita na especificação ECMAScript por causa do uso legado. Este método não deveria ser usado desde que exista existam melhores alternativas.

O método __defineGetter__ conecta uma propriedade do objeto à uma função para ser chamada quando isso é consultado.

Sintaxe

obj.__defineGetter__(prop, func)

Parâmetros

prop

Uma string contendo o nome da propriedade para conectar a função dada.

func

Uma função para ser ligada a uma consulta da propriedade especificada.

Valor de Retorno

Descrição

O __defineGetter__ permite um getter ser definido sobre um objeto preexistente.

Exemplos

js
// Forma não-padrão e depreciada

var o = {};
o.__defineGetter__("gimmeFive", function () {
  return 5;
});
console.log(o.gimmeFive); // 5

// Formas padrão-compatível

// Usando o 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

Especificações

Specification
ECMAScript Language Specification
# sec-object.prototype.__defineGetter__

Compatibilidade com navegadores

BCD tables only load in the browser

Veja também