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® 2025 Language Specification
# sec-object.prototype.__defineGetter__

Compatibilidade com navegadores

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
__defineGetter__
Deprecated

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Deprecated. Not for use in new websites.
See implementation notes.

Veja também