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