Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: объекты, freeze

Как запечатать объект?

Этот вопрос проверяет знание методов, используемых для предотвращения изменений в объектах, что важно для обеспечения целостности данных.

Короткий ответ

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

Длинный ответ

Запечатать объект в JavaScript — это процесс, который предотвращает изменения объекта после его создания. Это достигается с помощью метода Object.freeze(), который делает все свойства объекта неизменяемыми.

Когда объект запечатан, вы не можете добавлять новые свойства, удалять существующие или изменять их значения. Попытки изменить запечатанный объект не вызовут ошибок, но изменения не будут применены.

Пример использования Object.freeze():

const obj = {
	name: 'John',  age: 30 
};
Object.freeze(obj); // Попытка изменения
obj.age = 31; // Не изменится
obj.city = 'New York'; // Не добавится
delete obj.name; // Не удалится
console.log(obj); // { name: 'John', age: 30 }

Если вы хотите, чтобы свойства были запечатаны рекурсивно (чтобы и вложенные объекты также стали неизменяемыми), вам потребуется написать функцию, которая будет вызывать Object.freeze() на каждом вложенном объекте.

Запечатывание объектов полезно, когда необходимо защитить состояние данных и предотвратить случайные изменения, что особенно важно в больших приложениях и библиотеках.

Уровень

  • Рейтинг:

    3

  • Сложность:

    7

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#объекты

#freeze

Подпишись на React Developer в телеграм