Метод Object.seal() используется для запрета добавления новых свойств в объект и удаления существующих свойств. Он также делает все существующие свойства объекта неизменяемыми, т.е. значения свойств могут быть изменены, но само свойство не может быть удалено или переопределено.

Синтаксис метода Object.seal() выглядит следующим образом:

Object.seal(obj)

где obj - объект, который нужно запечатать.

Вот пример использования метода Object.seal():

const person = {
  firstName: "John",
  lastName: "Doe",
}
 
Object.seal(person)
 
person.firstName = "Jane" // Разрешено
person.age = 30 // Запрещено
delete person.lastName // Запрещено
 
console.log(person) // { firstName: 'Jane', lastName: 'Doe' }

В этом примере мы создаем объект person, который имеет свойства firstName и lastName. Затем мы используем метод Object.seal() для запрета добавления новых свойств и удаления существующих свойств в объект person. Мы затем пытаемся изменить значение свойства firstName, что разрешено, но пытаемся добавить новое свойство age и удалить свойство lastName, что запрещено. Наконец, мы выводим объект person и видим, что значение свойства firstName было изменено, а свойства age и lastName не были добавлены или удалены.

Метод Object.seal() может быть полезен, когда мы хотим предотвратить изменение основной структуры объекта, но позволить изменять значения свойств. Он также может быть использован для оптимизации производительности, так как запечатанные объекты могут быть оптимизированы браузером или движком JavaScript. Однако, если мы хотим создать объект, который не может быть изменен вообще, мы можем использовать метод Object.freeze().


Назад