Метод JavaScript Object.preventExtensions () запобігає додаванню нових властивостей до об’єкта.
Синтаксис preventExtensions()
методу:
Object.preventExtensions(obj)
preventExtensions()
Метод, який є статичний метод, викликаються з допомогою Object
імені класу.
Параметри prevenExtensions ()
preventExtensions()
Метод приймає в:
- obj - об'єкт, який слід зробити нерозтяжним.
Повернене значення з prevenExtensions ()
- Повертає об’єкт, який робиться нерозтяжним.
Примітки:
- Властивості нерозширюваного об’єкта, як правило, все ще можуть бути видалені.
- Спроба додати нові властивості до об’єкта, що не розширюється, зазнає невдачі, ні мовчки, ні введенням
TypeError
строгого режиму. - Властивості все ще можна додати до прототипу об’єкта, що не розширюється.
Приклад: Використання prevenExtensions ()
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 ()