Встречается на собеседованиях • сегодня
Как сделать объект иммутабельным в JS
В JavaScript можно сделать объект иммутабельным несколькими способами:
Object.freeze()- запрещает добавление/удаление/изменение свойств:
js
const obj = { a: 1 };
Object.freeze(obj);
obj.a = 2; // Не сработает в strict mode- Использование
const+ замораживание:
js
const obj = Object.freeze({ a: 1 });- Для вложенных объектов нужно рекурсивно замораживать:
js
function deepFreeze(obj) {
Object.freeze(obj);
Object.keys(obj).forEach(key => {
if (typeof obj[key] === 'object') deepFreeze(obj[key]);
});
}- Альтернатива - создание иммутабельных копий через spread или
Object.assign:
js
const newObj = {...oldObj, a: 2}; // Без изменения оригиналаВажно: Object.freeze работает только на первом уровне, для глубокой иммутабельности нужна рекурсия или библиотеки типа Immutable.js.

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