Esta característica está descontinuada em favor de definindo getters usando a sintaxe de inicialização de objeto ou 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
// 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
Especificação | Status | Comentário |
---|---|---|
ECMAScript (ECMA-262) The definition of 'Object.prototype.__defineGetter__()' in that specification. |
Padrão em tempo real | Incluido no (normativa) anexo para adicionais características legadas ECMAScript para navegadores Web (note que a especificação codifica o que já está em implementações). |
Compatibilidade de navagadores
BCD tables only load in the browser
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.