Movatterモバイル変換


[0]ホーム

URL:


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

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: can't redefine non-configurable property "x"

Message

TypeError: Cannot modify non-writable property {x} (Edge)TypeError: can't redefine non-configurable property "x" (Firefox)TypeError: Cannot redefine property: "x" (Chrome)

Type d'erreur

TypeError

Quel est le problème ?

On essaie de redéfinir une propriété alors que celle-ci estnon-configurable. L'attributconfigurable permet d'indiquer si la propriété peut être supprimée d'un objet et si ses attributs (en dehors dewritable) peuvent être modifiés. Généralement, les propriétés d'un objet créées avec uninitialisateur d'objet sont configurables. Cependant, lorsqu'on utilise la méthodeObject.defineProperty(), la propriété n'est pas configurable par défaut.

Exemples

Propriétés non-configurables créées avecObject.defineProperty()

La méthodeObject.defineProperty() crée des propriétés non-configurables si on n'indique pas le contraire :

js
var obj = Object.create({});Object.defineProperty(obj, "toto", { value: "machin" });Object.defineProperty(obj, "toto", { value: "bidule" });// TypeError: can't redefine non-configurable property "toto"

Si on veut pouvoir redéfinir la propriété "toto" dans la suite du code, il faudra la créer comme étant configurable.

js
var obj = Object.create({});Object.defineProperty(obj, "toto", { value: "machin", configurable: true });Object.defineProperty(obj, "toto", { value: "bidule", configurable: true });

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