Метод JavaScript Object.seal () запечатує даний об’єкт.
У seal()
методі запобігає нові властивості від бути додані до об'єкта і відзначають всі існуючі властивості , що не-настроюються.
Синтаксис seal()
методу:
Object.seal(obj)
seal()
Метод, який є статичний метод, викликаються з допомогою Object
імені класу.
параметри seal ()
seal()
Метод приймає в:
- obj - Об'єкт, який слід опечатати.
Повернене значення з ущільнення ()
- Повертає об'єкт, що пломбується.
Приклад: Використання ущільнення ()
let obj = ( foo: "bar", func: function () (), ); // before sealing, properties can be added, modified, or removed obj.foo = "JavaScript"; obj.value = 5; delete obj.func; // sealing the object o = Object.seal(obj); // can still change property values obj.foo = "bar1"; // no other change // fails silently obj.foo1 = "bar"; delete obj.foo; console.log(obj); // ( foo: 'bar1', value: 5 ) // cannot convert data property to accessors or vice versa Object.defineProperty(obj, "foo", ( get: function () ( return "g"; ), )); // TypeError Cannot redefine property: foo
Вихідні дані
(foo: 'bar1', значення: 5) TypeError Не вдається перевизначити властивість: foo
Примітки :
- За замовчуванням об’єкти розширювані (до них можна додавати нові властивості). Запечатування предметів робить властивості об’єктів фіксованими та незмінними. Значення поточних властивостей все ще можна змінювати, доки їх можна записувати.
Object.isSealed()
може використовуватися для перевірки запечатаності об’єкта чи ні.- Спроба перетворити властивість даних на Accessor або навпаки не вдасться мовчки або викинеться
TypeError
.
Рекомендуємо прочитати: Об’єкт JavaScript isSeated ()