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

В чем разница между устройством реактивности во Vue2 и Vue3

Основное отличие — в механизме отслеживания изменений:

Vue2 использует Object.defineProperty для реактивности:

  • Преобразует свойства данных в геттеры/сеттеры
  • Не может отслеживать добавление/удаление свойств (нужен Vue.set)
  • Не работает с индексами массива напрямую
js
// Vue2
data() {
  return {
    obj: { a: 1 } // Преобразуется в реактивный объект
  }
}

Vue3 использует Proxy:

  • Полностью перехватывает обращения к объекту
  • Поддерживает динамическое добавление свойств
  • Лучшая производительность для больших объектов
  • Работает с массивами "из коробки"
js
// Vue3
setup() {
  const obj = reactive({ a: 1 }) // Proxy под капотом
  obj.b = 2 // Реактивно без Vue.set
}

Также Vue3 ввел ref() для примитивов и улучшил систему реактивных зависимостей.

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

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

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

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