Обложка канала

Frontender's notes

Годные заметки, новости, видео и интересные статьи для Frontend разработчиков.

Frontender's notes

5 лет назад
Открыть в
Object.seal() и Object.preventExtensions() Всем доброго дня! Недавно я делал вот этот пост на тему метода объектов .freeze, который по сути делает целевой объект неизменяемым. Но что делать если мы хотим например запретить только изменять свойства или только добавлять / удалять? Собственно вот эти методы из заголовка - то что нам нужно. Если совсем кратко: .seal() - запрещает добавлять / удалять но разрешает изменять значение свойства .preventExtensions() - запрещает только добавлять но разрешает все остальные действия Так-же есть методы для проверки: Object.isSealed() Object.isExtensible() Оба возвращают true или false Пример на основе метода .seal(): const obj = {animal: 'cat'}; Object.isSealed(obj) //false Object.seal(obj); Object.isSealed(obj) //true;