Movatterモバイル変換


[0]ホーム

URL:


  1. Tecnologia Web para desenvolvedores
  2. JavaScript
  3. Referência JavaScript
  4. JavaScript error reference
  5. TypeError: property "x" is non-configurable and can't be deleted

Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.

View in EnglishAlways switch to English

TypeError: property "x" is non-configurable and can't be deleted

A exceção do Javascript "property is non-configurable and can't be deleted" ocorrequando é feita a tentativa de deletar uma propriedade, mas a propriedadenão é configurável.

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

TypeError apenas no modo strict.

O que deu errado?

Foi feita a tentativa de deletar uma propriedade, mas esta propriedadenão é configurável. Oatributoconfigurable controla se a propriedade pode ser deletada doobjeto e se seus atributos (Excetowritable) podem ser alterados.

Este erro acontece apenas no modostrict. Nomodo de código não estrito, a operação retornafalse.

Exemplos

Tentando excluir uma propriedade não configurável

Propriedades não configuráveis não são comuns, mas podem ser criadas usandoObject.defineProperty() ouObject.freeze().

js
"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ê tenhatentado deletar uma constante matemática.

js
"use strict";delete Math.PI; // TypeError

Veja também

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp