diff options
author | Nathália Pissuti <nathaliapissuti@gmail.com> | 2021-10-19 08:43:04 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-19 08:43:04 -0300 |
commit | 76809bf158690469bfd9ea0bee127a5e812f373b (patch) | |
tree | a096c0187d130b8968a3b97e0eb3ad3f122e951c /files | |
parent | b53e739a002f580203dfdf67ed4a01327852f0e9 (diff) | |
download | translated-content-76809bf158690469bfd9ea0bee127a5e812f373b.tar.gz translated-content-76809bf158690469bfd9ea0bee127a5e812f373b.tar.bz2 translated-content-76809bf158690469bfd9ea0bee127a5e812f373b.zip |
Javascript reference error cant_redefine_property page in pt-br (#2706)
Diffstat (limited to 'files')
-rw-r--r-- | files/pt-br/web/javascript/reference/errors/cant_redefine_property/index.md | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/files/pt-br/web/javascript/reference/errors/cant_redefine_property/index.md b/files/pt-br/web/javascript/reference/errors/cant_redefine_property/index.md new file mode 100644 index 0000000000..50bb8b96fa --- /dev/null +++ b/files/pt-br/web/javascript/reference/errors/cant_redefine_property/index.md @@ -0,0 +1,62 @@ +--- +title: 'TypeError: can''t redefine non-configurable property "x"' +slug: Web/JavaScript/Reference/Errors/Cant_redefine_property +tags: + - Error + - Errors + - JavaScript + - TypeError +--- +{{jsSidebar("Errors")}} + +A exceção do Javascript "can't redefine non-configurable property" ocorre quando é +feita a tentativa de redefinir uma propriedade, mas essa propriedade [não é configurável](/pt-BR/docs/Web/JavaScript/Data_structures#properties). + +## Mensagem + +```js +TypeError: Cannot modify non-writable property {x} (Edge) +TypeError: can't redefine non-configurable property "x" (Firefox) +TypeError: Cannot redefine property: "x" (Chrome) +``` + +## Tipo de Erro + +{{jsxref("TypeError")}} + +## O que deu errado? + +Foi feita a tentativa de redefinir uma propriedade, mas essa propriedade [não é configurável](/pt-BR/docs/Web/JavaScript/Data_structures#properties). O +atributo `configurable` controla se a propriedade pode ser deletada do +objeto e se seus atributos (Exceto `writable`) podem ser alterados. +Geralmente, propriedades de um objeto criado por um [inicializador de objeto](/pt-BR/docs/Web/JavaScript/Reference/Operators/Object_initializer) +são configuráveis. Contudo, por exemplo, ao usar {{jsxref("Object.defineProperty()")}}, a propriedade não é configurável por padrão. + +## Exemplos + +### Propriedades não configuráveis criadas por `Object.defineProperty` + +{{jsxref("Object.defineProperty()")}} cria uma propriedade não configurável se você +não especificá-las como configurável. + +```js example-bad +var obj = Object.create({}); +Object.defineProperty(obj, "foo", {value: "bar"}); + +Object.defineProperty(obj, "foo", {value: "baz"}); +// TypeError: can't redefine non-configurable property "foo" +``` + +Você vai precisar alterar a propriedade "foo" para configurável, se você pretende redefini-la +posteriormente no código. + +```js example-good +var obj = Object.create({}); +Object.defineProperty(obj, "foo", {value: "bar", configurable: true}); +Object.defineProperty(obj, "foo", {value: "baz", configurable: true}); +``` + +## Veja também + +- [\[\[Configurable\]\]](/pt-BR/docs/Web/JavaScript/Data_structures#properties) +- {{jsxref("Object.defineProperty()")}} |