A exceção apenas do modo strict do Javascript "setting getter-only property" ocorre quando é feita a tentativa de definir um novo valor para uma propriedade para qual apenas um getter está especificado.
MensagemTypeError: Assignment to read-only properties is not allowed in strict mode (Edge)
TypeError: setting getter-only property "x" (Firefox)
TypeError: Cannot set property "prop" of #<Object> which has only a getter (Chrome)
Tipo de Erro
TypeError
no modo strict apenas.
Tem uma tentativa de definir um novo valor para uma propriedade para qual apenas um getter está especificado. Isto será silenciosamente ignorado no modo non-strict, enquanto vai lançar um TypeError
no modo strict.
O exemplo abaixo mostra como definir um getter para uma propriedade. Isso não especifica um setter, então um TypeError
vai ser lançado quando for feita a tentativa de definir a propriedade temperatura
para 30
. Para mais detalhes veja também a página Object.defineProperty()
.
"use strict";
function Arquivo() {
var temperatura = null;
Object.defineProperty(this, "temperatura", {
get: function () {
console.log("get!");
return temperatura;
},
});
}
var arq = new Arquivo();
arq.temperatura; // 'get!'
arq.temperatura = 30;
// TypeError: setting getter-only property "temperatura"
Para corrigir este erro, você vai ter que remover a linha 16, onde é feita a tentativa de definir a propriedade temperatura, ou você vai precisar implementar um setter para a propriedade, desta forma, por exemplo:
"use strict";
function Arquivo() {
var temperatura = null;
var arquivo = [];
Object.defineProperty(this, "temperatura", {
get: function () {
console.log("get!");
return temperatura;
},
set: function (value) {
temperatura = value;
arquivo.push({ val: temperatura });
},
});
this.getArquivo = function () {
return arquivo;
};
}
var arq = new Arquivo();
arq.temperatura; // 'get!'
arq.temperatura = 11;
arq.temperatura = 13;
arq.getArquivo(); // [{ val: 11 }, { val: 13 }]
Veja também
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4