Movatterモバイル変換


[0]ホーム

URL:


  1. 開発者向けのウェブ技術
  2. JavaScript
  3. JavaScript リファレンス
  4. JavaScript エラーリファレンス
  5. TypeError: can't redefine non-configurable property "x"

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。

View in EnglishAlways switch to English

TypeError: can't redefine non-configurable property "x"

メッセージ

TypeError: can't redefine non-configurable property "x" (Firefox)TypeError: Cannot redefine property: "x" (Chrome)

エラータイプ

TypeError

何がうまくいかなかったのか?

プロパティを再定義しようとしましたが、そのプロパティは設定不可です。configurable 属性は、プロパティをオブジェクトから削除できるかどうか、および (writable 以外で) 変更できるかどうかを制御します。通常、オブジェクト初期化子で生成されたオブジェクトのプロパティは、変更可能です。しかし、Object.defineProperty() を使用した場合などは、既定でプロパティを修正できません。

Object.defineProperty で生成された設定不可のプロパティ

設定可能にしたくない場合、Object.defineProperty() は設定不可のプロパティを生成します。

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

後のコードで再定義するためには、"foo" プロパティを設定可能にする必要があります。

js
var obj = Object.create({});Object.defineProperty(obj, "foo", { value: "bar", configurable: true });Object.defineProperty(obj, "foo", { value: "baz", configurable: true });

関連項目

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp