Встречается на собеседованиях • сегодня
Сталкивался ли с двусторонним data binding в JavaScript
Двустороннее связывание данных (two-way data binding) означает автоматическую синхронизацию данных между моделью и представлением. В чистом JavaScript можно реализовать через Object.defineProperty или прокси, но чаще используют фреймворки.
Пример на ванильном JS:
javascript
const data = {};
Object.defineProperty(data, 'text', {
get() { return this._text; },
set(value) {
this._text = value;
document.getElementById('input').value = value;
document.getElementById('output').textContent = value;
}
});
document.getElementById('input').addEventListener('input', (e) => {
data.text = e.target.value;
});
text
Во фреймворках:
- Angular: `[(ngModel)]`
- Vue: `v-model`
- React: требует ручного управления через `value` + `onChange` (односторонний поток)
Основной нюанс - производительность при частых обновлениях, поэтому современные фреймворки используют виртуальный DOM или другие оптимизации.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы