Метод JavaScript Object.preventExtensions () предотвращает добавление новых свойств к объекту.
Синтаксис preventExtensions()метода:
Object.preventExtensions(obj)
Этот preventExtensions()статический метод вызывается по имени Objectкласса.
PreventExtensions () Параметры
preventExtensions()Метод принимает в:
- obj - объект, который следует сделать нерасширяемым.
Возвращаемое значение от preventExtensions ()
- Возвращает нерасширяемый объект.
Заметки:
- Как правило, свойства нерасширяемого объекта можно удалить.
- Попытка добавить новые свойства к нерасширяемому объекту потерпит неудачу либо без уведомления, либо путем выдачи
TypeErrorв строгом режиме. - Свойства по-прежнему можно добавлять к прототипу нерасширяемого объекта.
Пример: использование preventExtensions ()
let obj = (); // by default, objects are extensible console.log(Object.isExtensible(obj)); // true let obj1 = Object.preventExtensions(obj); console.log(obj == obj1); // true -> Returns the same object console.log(Object.isExtensible(obj)); // false // TypeError: Cannot define property newProp, object is not extensible Object.defineProperty(obj, "newProp", ( value: 123456, ));
Вывод
true true false TypeError: невозможно определить свойство newProp, объект не является расширяемым
Рекомендуемая литература: JavaScript Object.isExtensible ()








