Метод 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 ()