@DarCKoder

Где могут быть использованы геттеры и сеттеры в JS(ES5)?

Никак не могу понять, зачем использовать такой метод, объявления метода у объекта?
Object.defineProperty(user, 'getFullName', {
	get: function() {
		console.log(this.name + " " + this.surname);
	},
	set: function(setter) {
		this.name = setter;
	}
});

Ведь можно же просто, явно задать метод?
user = {
  ...
  get: function() {
     ... 
  }
  set: function() {
    ...
  }
}


Хотелось бы больше примеров реальных узнать, где без них ну никак не обойтись.
  • Вопрос задан
  • 161 просмотр
Пригласить эксперта
Ответы на вопрос 1
@xutesayor
Допустим у вас есть уже давно работающий код. Там есть объект user и свойство name.
И вот заказчик захотел чтобы во всех местах в проекте вместо имени выводилось полное имя (имя + фамилия). Если вы решите для этого дела использовать метод, то вам придется искать по всему проекту где вызывается свойство name и менять его на метод. А если использовать встроенные геттеры, то логику получения можно будет изменить только в одном месте.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы