Встречается на собеседованиях • сегодня
Можно ли сделать объект в JavaScript с неизменяемыми свойствами
Да, можно с помощью Object.freeze(), Object.defineProperty() или Object.defineProperties().
1. Object.freeze() – делает объект полностью неизменяемым:
javascript
const obj = { name: "Alice" };
Object.freeze(obj);
obj.name = "Bob"; // Не сработает (в strict mode будет ошибка)2. Object.defineProperty() – позволяет задать конкретному свойству writable: false:
javascript
const obj = {};
Object.defineProperty(obj, 'name', {
value: "Alice",
writable: false
});
obj.name = "Bob"; // Игнорируется (в strict mode – ошибка)3. const ≠ неизменяемость
const запрещает переприсваивание переменной, но не блокирует изменение свойств объекта.
Для глубокой неизменяемости можно использовать библиотеки (например, Immutable.js) или рекурсивно зафризить вложенные объекты.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы