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

Какие методы запрещают добавлять свойства в объект

Object.preventExtensions() - запрещает добавление новых свойств, но позволяет изменять и удалять существующие.

Object.seal() - запрещает добавление и удаление свойств, но позволяет изменять существующие.

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

Пример:

javascript
const obj = { a: 1 };

Object.preventExtensions(obj);
obj.b = 2; // TypeError (в strict mode) или молча игнорируется  

Object.seal(obj);
delete obj.a; // TypeError (в strict mode)  

Object.freeze(obj);
obj.a = 2; // TypeError (в strict mode)  

Проверить состояние объекта можно через:

  • Object.isExtensible(obj)
  • Object.isSealed(obj)
  • Object.isFrozen(obj)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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