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

Как средствами JavaScript реализовать реактивность

Реактивность в JavaScript можно реализовать несколькими способами:

  1. Геттеры/Сеттеры:
javascript
const data = {
  _value: 0,
  get value() { return this._value },
  set value(newVal) {
    this._value = newVal;
    console.log('Value changed:', newVal);
  }
};
  1. Proxy API (современный способ):
javascript
const reactive = (obj) => new Proxy(obj, {
  set(target, key, value) {
    target[key] = value;
    console.log(`Changed ${key} to ${value}`);
    return true;
  }
});

const state = reactive({ count: 0 });
  1. Event Emitters (паттерн Наблюдатель):
javascript
class Observable {
  constructor() {
    this.listeners = {};
  }
  on(event, callback) {
    this.listeners[event] = callback;
  }
  trigger(event, data) {
    this.listeners[event]?.(data);
  }
}

Во фреймворках (Vue, React, Angular) реактивность реализована сложнее, с виртуальным DOM и системами отслеживания зависимостей.

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

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

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

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