Встречается на собеседованиях • сегодня
Что можно сделать с помощью setter в Proxy
Сеттер в Proxy позволяет перехватывать и модифицировать операции записи свойств объекта. Основные возможности:
- Валидация значений перед записью:
js
const proxy = new Proxy({}, {
set(target, prop, value) {
if (prop === 'age' && typeof value !== 'number') {
throw new TypeError('Age must be a number');
}
target[prop] = value;
return true;
}
});- Логирование изменений:
js
set(target, prop, value) {
console.log(`Setting ${prop} to ${value}`);
target[prop] = value;
return true;
}- Преобразование данных перед записью:
js
set(target, prop, value) {
if (prop === 'price') {
target[prop] = Math.round(value * 100) / 100; // округление до 2 знаков
} else {
target[prop] = value;
}
return true;
}- Запрет изменения определенных свойств:
js
set(target, prop, value) {
if (prop === 'readonlyProp') return false;
target[prop] = value;
return true;
}Важно всегда возвращать true при успешной записи или false при ошибке (в strict mode выбросит TypeError).

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