Object.seal
Запрещает добавлять и удалять свойства, но разрешает менять существующие.
Доступно с: ES5
Синтаксис
Object.seal(obj)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| obj | object | Объект, который нужно запечатать. |
Возвращаемое значение
objectТот же объект, уже запечатанный.
Примеры
Менять можно, добавлять и удалять — нет:
const user = Object.seal({ name: 'Anna' });
user.name = 'Oleg';
user.age = 30;
delete user.name;
console.log(user);Результат:
{
"name": "Oleg"
}Примечания
Разница с Object.freeze(): запечатанный объект можно изменять, только его форма — набор свойств — фиксирована.
См. также
- Object.freeze — Запрещает любые изменения объекта.
- Object.isFrozen — Проверяет, заморожен ли объект.
В учебнике
- Неизменяемость данных — Изменяемые и неизменяемые данные в JavaScript: ссылки на объекты, копирование через spread, методы toSorted и with, Object.freeze и structuredClone.