diff options
author | Nathália Pissuti <nathaliapissuti@gmail.com> | 2021-10-11 08:46:21 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-11 08:46:21 -0300 |
commit | 7842e1948c3e68ee9261e204e37fefdae490cffc (patch) | |
tree | 94897b68a4d086e68f5f444d569be01538f88fbd /files/pt-br | |
parent | f554df5a292ace5cc0daea0b9eb1ef038e3e7da5 (diff) | |
download | translated-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.md | 71 |
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()")}} |