Object.seal() - запечатує об'єкт, запобігаючи додавання нових властивостей об'єкта і роблячи всі існуючі властивості не налаштованим. Значення представлених властивостей все ще можуть змінюватися, оскільки вони залишаються записуваними.
Object.seal( obj )
obj - об'єкт який необхідно запечатати.
За замовчуванням, об'єкти є розширюваними (до них можуть додаватися нові властивості). Запечатування об'єкта запобігає додавання до нього нових властивостей і робить всі існуючі властивості не налаштованими. Воно робить всі властивості об'єкта фіксованими і незмінними. Позначка всіх властивостей об'єкта що не настроюються також запобігає їх перетворення з властивостей даних в властивості доступу і навпаки, але не запобігає зміні значення властивостей даних. Спроби видалення або додавання властивостей до запечатаному об'єкту, або перетворення властивостей даних в властивості доступу і навпаки, будуть терпіти невдачу, або мовчки, або з викиданням виключення TypeError. Ланцюжок прототипів не зачіпається. Однак, властивість __proto__ також запечативатся.
Для перевірки чи запечатаний об'єкт використовують метод Object.isSealed.
var b={a:999};
Object.seal(b);
b.a=4;
b.newA=3;
alert(b.a+" "+b.newA);