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

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

В JavaScript можно использовать Object.freeze(), чтобы запретить добавление новых свойств в объект. Однако, это не предотвращает изменение существующих свойств. Для полной защиты можно комбинировать с Object.seal().

javascript
const obj = { name: 'John' };
Object.freeze(obj);
obj.age = 30; // Не сработает в strict mode
console.log(obj); // { name: 'John' }

Для более строгой защиты:

javascript
const obj = { name: 'John' };
Object.seal(obj); // Запрещает добавление/удаление свойств
Object.freeze(obj); // Запрещает изменение существующих

В TypeScript можно использовать Readonly:

typescript
type ReadonlyObj = Readonly<{ name: string }>;
const obj: ReadonlyObj = { name: 'John' };
obj.name = 'Doe'; // Ошибка компиляции
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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