На что навешивается Setter во Vue

«На что навешивается Setter во Vue» — вопрос из категории Vue, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Во Vue сеттеры (setters) навешиваются на вычисляемые свойства (computed properties). Они позволяют не только получать, но и изменять значение вычисляемого свойства, выполняя при этом дополнительную логику.

Пример:

computed: {
  fullName: {
    get() {
      return `${this.firstName} ${this.lastName}`;
    },
    set(newValue) {
      const [first, last] = newValue.split(' ');
      this.firstName = first;
      this.lastName = last;
    }
  }
}

Здесь fullName — вычисляемое свойство с геттером и сеттером. При изменении fullName сеттер разбивает строку и обновляет firstName и lastName.

Также сеттеры могут использоваться в Vuex (через mutations или actions) и Composition API (computed с get/set).