Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. Référence
  4. Référence des erreurs JavaScript
  5. TypeError: property "x" is non-configurable and can't be deleted

Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in EnglishAlways switch to English

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

Message

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)

Type d'erreur

TypeError in strict mode only.

Quel est le problème ?

Une instruction demande la suppression d'une propriéténon-configurable. L'attributconfigurable permet de contrôler si la propriété peut être supprimée de l'objet auquel elle est rattachée et si ces attributs (en dehors dewritable) peuvent être modifiés.

Cette erreur ne se produit qu'enmode strict. En mode non-strict, l'opération de suppression renverrafalse.

Exemples

Les propriétés non-configurables ne sont pas très fréquentes mais il est possible d'en créer grâce àObject.defineProperty() ou àObject.freeze().

js
"use strict";var obj = Object.freeze({ name: "Elsa", score: 157 });delete obj.score; // TypeError("use strict");var obj = {};Object.defineProperty(obj, "toto", { value: 2, configurable: false });delete obj.toto; // TypeError("use strict");var frozenArray = Object.freeze([0, 1, 2]);frozenArray.pop(); // TypeError

Certaines propriétés natives de JavaScript sont non-configurables. Peut-être que le code tente de supprimer une constante mathématique :

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

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2025 Movatter.jp