Ошибка JavaScript TypeError - Невозможно определить свойство «X»: «Obj» не расширяется.

Опубликовано: 9 Декабря, 2021

Это исключение JavaScript не может определять свойство «x»: «obj» не расширяемо возникает, когда Object.preventExtensions () используется для объекта, чтобы сделать его больше не расширяемым. Итак, теперь новые свойства не могут быть добавлены к объекту.

Сообщение:

 TypeError: невозможно создать свойство для нерасширяемого объекта (Edge)
TypeError: невозможно определить свойство «x»: «obj» не расширяется (Firefox)
TypeError: невозможно определить свойство: «x», объект не расширяется. (Хром)

Тип ошибки:

 TypeError

Причина ошибки: после применения метода Object.preventExtensions () к объекту к объекту добавляются новые свойства, что недопустимо.

Пример 1. В этом примере новое свойство добавляется после применения метода Object.preventExtensions (). Таким образом, произошла ошибка.

Вывод (в консоли):

 TypeError: невозможно создать свойство для нерасширяемого объекта

Пример 2: В этом примере новое свойство добавляется с помощью метода defineProperty () после применения метода Object.preventExtensions (). Итак, произошла ошибка.

HTML

< script >
'use strict';
var GFG_Obj = {'name': 'GFG'};
Object.preventExtensions(GFG_Obj);
// error here
Object.defineProperty(GFG_Obj,
'person', { dob: "02/11/1997" }
);
</ script >

Вывод (в консоли):

 TypeError: невозможно определить свойство 'person': объект не расширяется