Object.prototype.__defineSetter__()
Aviso:
Esta funcionalidade está depreciada em favor da definição de setters usando a Object.defineProperty()
.
Entretando, como ele é largamente implementado e usado na Web, é bem improvável que os navegadores vão parar de implementá-lo.
O método __defineSetter__
vincula uma propriedade de um objeto a uma função a ser chamada quando é feita uma tentativa de atribuir algo a aquela propriedade.
obj.__defineSetter__(prop, fun)
prop
Uma cadeia de caracteres (string ) contendo o nome da propriedade que vai ser vinculada a função dada.
fun
A função a ser chamada quando houver uma tentativa de atribuir na propriedade especificada. Esta função toma a forma
val
Um apelido para a variável que contém o valor que se tentou atribuir a prop
.
setter ser definido a um objeto pré-existente.
var o = {};
o.__defineSetter__("value", function (val) {
this.anotherValue = val;
});
o.value = 5;
console.log(o.value); / undefined
console.log(o.anotherValue); / 5
/ Usando o operador set
var o = {
set value(val) {
this.anotherValue = val;
},
};
o.value = 5;
console.log(o.value); / undefined
console.log(o.anotherValue); / 5
/ Usando Object.defineProperty
var o = {};
Object.defineProperty(o, "value", {
set: function (val) {
this.anotherValue = val;
},
});
o.value = 5;
console.log(o.value); / undefined
console.log(o.anotherValue); / 5
\nO método __defineSetter__
vincula uma propriedade de um objeto a uma função a ser chamada quando é feita uma tentativa de atribuir algo a aquela propriedade.
"}},{"type":"prose","value":{"id":"sintaxe","title":"Sintaxe","isH3":false,"content":"obj.__defineSetter__(prop, fun)\n "}},{"type":"prose","value":{"id":"parâmetros","title":"Parâmetros","isH3":true,"content":"\nprop
\n\nUma cadeia de caracteres (string ) contendo o nome da propriedade que vai ser vinculada a função dada.
\n \nfun
\n\nA função a ser chamada quando houver uma tentativa de atribuir na propriedade especificada. Esta função toma a forma
\nfunction(val) { . . . }\n
\n\nval
\n\nUm apelido para a variável que contém o valor que se tentou atribuir a prop
.
\n \n \n \n "}},{"type":"prose","value":{"id":"valor_de_retorno","title":"Valor de retorno","isH3":true,"content":"set
\n
JS Guide: Defining Getters and Setters \n[Blog Post] Deprecation of __defineGetter__ and __defineSetter__ \nbug 647423 \n"}}],"isActive":true,"isMarkdown":true,"isTranslated":true,"locale":"pt-BR","mdn_url":"/pt-BR/docs/Web/JavaScript/Reference","title":"Referência JavaScript"},{"uri":"/pt-BR/docs/Web/JavaScript/Reference/Global_Objects\">Objetos GlobaisObject.defineProperties()
Object.fromEntries()
Object.getOwnPropertySymbols()
Object.isExtensible()
Object.preventExtensions()
Object.prototype.__defineGetter__()
\nDeprecated \n Object.prototype.hasOwnProperty()
Object.prototype.toString()
Object/Function
Métodos estáticos Function.prototype.toString()
prototype
Object.prototype.__defineSetter__()
\nDeprecated \n Object.prototype.isPrototypeOf()
Object.prototype.valueOf()
Propriedades de instância Object.prototype.constructor
","source":{"folder":"pt-br/web/javascript/reference/global_objects/object/__definesetter__","github_url":"https://github.com/mdn/translated-content/commit/3b17c5644516fc3d3278bcacb77069e76176d870","filename":"index.md"},"summary":"O método __defineSetter__ vincula uma propriedade de um objeto a uma função a ser chamada quando é feita uma tentativa de atribuir algo a aquela propriedade.","title":"Object.prototype.__defineSetter__()","toc":[{"text":"Sintaxe","id":"sintaxe"},{"text":"Descrição","id":"descrição"},{"text":"Exemplos","id":"exemplos"},{"text":"Especificações","id":"especificações"},{"text":"Compatibilidade com navegadores","id":"compatibilidade_com_navegadores"},{"text":"Veja também","id":"veja_também"}],"browserCompat":["javascript.builtins.Object.defineSetter"],"pageType":"javascript-instance-method"}}
Follow Lee on X/Twitter - Father, Husband, Serial builder creating AI, crypto, games & web tools. We are friends :) AI Will Come To Life!
Check out: eBank.nz (Art Generator) |
Netwrck.com (AI Tools) |
Text-Generator.io (AI API) |
BitBank.nz (Crypto AI) |
ReadingTime (Kids Reading) |
RewordGame |
BigMultiplayerChess |
WebFiddle |
How.nz |
Helix AI Assistant