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

Можно ли создать иммутабельный объект в JavaScript

Да, можно создать иммутабельный объект в JavaScript несколькими способами:

  1. Object.freeze() - делает объект неизменяемым (нельзя добавлять, удалять или изменять свойства):
javascript
const obj = { a: 1 };
Object.freeze(obj);
obj.a = 2; // Не сработает в strict mode
  1. Object.seal() - запрещает добавлять/удалять свойства, но позволяет изменять существующие:
javascript
const obj = { a: 1 };
Object.seal(obj);
obj.a = 2; // Работает
obj.b = 3; // Не сработает
  1. Использование const (но это защищает только от переприсваивания, не от изменения свойств):
javascript
const obj = { a: 1 };
obj = {}; // Ошибка
obj.a = 2; // Работает

Для глубокой иммутабельности можно использовать библиотеки типа Immutable.js или реализовать рекурсивное замораживание.

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

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

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

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