aboutsummaryrefslogtreecommitdiff
path: root/files
diff options
context:
space:
mode:
authorNathália Pissuti <nathaliapissuti@gmail.com>2021-10-19 08:43:04 -0300
committerGitHub <noreply@github.com>2021-10-19 08:43:04 -0300
commit76809bf158690469bfd9ea0bee127a5e812f373b (patch)
treea096c0187d130b8968a3b97e0eb3ad3f122e951c /files
parentb53e739a002f580203dfdf67ed4a01327852f0e9 (diff)
downloadtranslated-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.md62
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()")}}