A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.cdn.mozilla.net/ru/docs/Web/JavaScript/Reference/Errors/Cant_redefine_property below:

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

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

Исключение "can't redefine non-configurable property" возникает, когда в коде переопределяется ненастраиваемое свойство.

Сообщения
TypeError: Cannot redefine property: "x" (V8-based)
TypeError: can't redefine non-configurable property "x" (Firefox)
TypeError: Attempting to change value of a readonly property. (Safari)
Тип ошибки Что не так?

Была предпринята попытка переопределить свойство, но это свойство не настраивается. Атрибут "настраиваемости" определяет, можно ли удалить свойство из объекта и можно ли изменить другие его атрибуты (отличные от доступных для записи). Обычно, свойства объекта, созданного инициализатором объекта, настраиваются. Однако, например, при использовании Object.defineProperty(), заданное свойство по умолчанию ненастраиваемое.

Примеры Ненастраиваемые свойства, созданные Object.defineProperty

The Object.defineProperty() создаёт ненастраиваемые свойства, если они не помечены как настраиваемые.

const obj = Object.create({});
Object.defineProperty(obj, "foo", { value: "bar" });

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

Вам нужно будет пометить свойство "foo" как настраиваемое (configurable: true), если вы собираетесь переопределить его позже в коде.

const obj = Object.create({});
Object.defineProperty(obj, "foo", { value: "bar", configurable: true });
Object.defineProperty(obj, "foo", { value: "baz", configurable: true });
Смотрите также

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4