1.5Kпросмотров
23 апреля 2025 г.
Score: 1.7K
🥶 Object.freeze() в JavaScript: Замораживаем объекты! Object.freeze() — встроенный метод в JavaScript, который позволяет заморозить объект, то есть предотвратить его изменения. Некоторые возможности метода: 🔜 Запрещает добавлять новые свойства.
🔜 Нельзя удалять существующие свойства.
🔜 Блокирует изменение значений существующих свойств. const user = { name: 'Alice', age: 30 };
Object.freeze(user); user.age = 25; // 🚫 Не сработает (в strict mode — ошибка!)
console.log(user.age); // 30 Особенности:
Поверхностное замораживание: Вложенные объекты остаются изменяемыми!
Необратимо: После заморозки объект нельзя "разморозить".
Проверка: Используйте Object.isFrozen(obj), чтобы узнать статус. Пример с вложенным объектом:
const company = { name: 'Tech Corp', employees: ['Alice', 'Bob'] };
Object.freeze(company); company.employees.push('Charlie'); // ✅ Сработает!
console.log(company.employees); // ['Alice', 'Bob', 'Charlie'] Где полезно?
- Защита конфигов от случайных изменений.
- Оптимизация производительности в некоторых фреймворках.
- Создание иммутабельных структур данных (частично). Для глубокой заморозки используйте рекурсию или библиотеки типа Immutable.js. 👍 - если было полезно