Встречается на собеседованиях • сегодня

Можно ли запретить изменять значения полей объекта

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

javascript
const obj = { name: 'Alice', age: 25 };
Object.freeze(obj);

obj.name = 'Bob'; // Не сработает в strict mode, выбросит ошибку
console.log(obj.name); // 'Alice'

text

Для более гибкого контроля можно использовать `Object.defineProperty()` с `writable: false` для отдельных свойств:

```javascript
const obj = {};
Object.defineProperty(obj, 'name', {
  value: 'Alice',
  writable: false
});

obj.name = 'Bob'; // Игнорируется или ошибка в strict mode

Оба подхода работают только на первом уровне вложенности. Для глубокой заморозки нужна рекурсивная реализация.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы