aboutsummaryrefslogtreecommitdiff
path: root/files/pt-br
diff options
context:
space:
mode:
authorNathália Pissuti <nathaliapissuti@gmail.com>2021-10-11 08:46:21 -0300
committerGitHub <noreply@github.com>2021-10-11 08:46:21 -0300
commit7842e1948c3e68ee9261e204e37fefdae490cffc (patch)
tree94897b68a4d086e68f5f444d569be01538f88fbd /files/pt-br
parentf554df5a292ace5cc0daea0b9eb1ef038e3e7da5 (diff)
downloadtranslated-content-7842e1948c3e68ee9261e204e37fefdae490cffc.tar.gz
translated-content-7842e1948c3e68ee9261e204e37fefdae490cffc.tar.bz2
translated-content-7842e1948c3e68ee9261e204e37fefdae490cffc.zip
Javascript reference error cant_delete page in pt-br (#2673)
* Javascript reference error cant_delete page in pt-br * Fix single quotes typo * Revert "Fix single quotes typo" This reverts commit 2ff3a93dd30c8c7bd4fcd6fcbec55a4f5cddc598.
Diffstat (limited to 'files/pt-br')
-rw-r--r--files/pt-br/web/javascript/reference/errors/cant_delete/index.md71
1 files changed, 71 insertions, 0 deletions
diff --git a/files/pt-br/web/javascript/reference/errors/cant_delete/index.md b/files/pt-br/web/javascript/reference/errors/cant_delete/index.md
new file mode 100644
index 0000000000..954dfdbdf2
--- /dev/null
+++ b/files/pt-br/web/javascript/reference/errors/cant_delete/index.md
@@ -0,0 +1,71 @@
+---
+title: 'TypeError: property "x" is non-configurable and can''t be deleted'
+slug: Web/JavaScript/Reference/Errors/Cant_delete
+tags:
+ - Error
+ - Errors
+ - JavaScript
+ - Strict Mode
+ - TypeError
+---
+{{jsSidebar("Errors")}}
+
+A exceção do Javascript "property is non-configurable and can't be deleted" ocorre
+quando é feita a tentativa de deletar uma propriedade, mas a propriedade [não é configurável](/pt-BR/docs/Web/JavaScript/Data_structures#properties).
+
+## Mensagem
+
+```js
+TypeError: Calling delete on 'x' is not allowed in strict mode (Edge)
+TypeError: property "x" is non-configurable and can't be deleted. (Firefox)
+TypeError: Cannot delete property 'x' of #<Object> (Chrome)
+```
+
+## Tipo de Erro
+
+{{jsxref("TypeError")}} apenas no modo strict.
+
+## O que deu errado?
+
+Foi feita a tentativa de deletar uma propriedade, mas esta 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.
+
+Este erro acontece apenas no modo [strict](/pt-BR/docs/Web/JavaScript/Reference/Strict_mode). No
+modo de código não estrito, a operação retorna `false`.
+
+## Exemplos
+
+### Tentando excluir uma propriedade não configurável
+
+Propriedades não configuráveis não são comuns, mas podem ser criadas usando
+{{jsxref("Object.defineProperty()")}} ou {{jsxref("Object.freeze()")}}.
+
+```js example-bad
+'use strict';
+var obj = Object.freeze({name: 'Elsa', score: 157});
+delete obj.score; // TypeError
+
+'use strict';
+var obj = {};
+Object.defineProperty(obj, 'foo', {value: 2, configurable: false});
+delete obj.foo; // TypeError
+
+'use strict';
+var frozenArray = Object.freeze([0, 1, 2]);
+frozenArray.pop(); // TypeError
+```
+
+Também existem algumas propriedades não configuráveis embutidas no Javascript. Talvez você tenha
+tentado deletar uma constante matemática.
+
+```js example-bad
+'use strict';
+delete Math.PI; // TypeError
+```
+
+## Veja também
+
+- [Operador delete](/pt-BR/docs/Web/JavaScript/Reference/Operators/delete)
+- {{jsxref("Object.defineProperty()")}}
+- {{jsxref("Object.freeze()")}}