Изучение новых концепций может вскружить голову. У меня закружилась голова от методов Getter и Setter в JavaScript. Я лично не понимал, как и когда использовать эти методы и даже нужны ли они мне. Как только я понял эту концепцию, я увидел применение этого метода, и, надеюсь, вы все тоже поймете после прочтения этого блога.

Методы Getter и Setter позволяют получать доступ к информации в объекте и изменять ее. Давайте создадим объект, чтобы применить их на практике.

 let person = {
     first_name: "Manuela", 
     last_name: "Sanchez"
}

Здесь мы создали объект человека и хотим начать добавлять к нему функции, где мы можем вызвать этот объект и получить полное имя человека. Для этого воспользуемся методом Getter.

let person = {
     first_name: "Manuela", 
     last_name: "Sanchez", 
 
get fullName() {
    return `${this.first_name} ${this.last_name}`;
  }
};

При использовании метода получения вы вызываете его с помощью синтаксиса get, за которым следует имя метода fullName() и условие {return`${this.first_name} ${this.last_name}}`. Теперь попробуйте console.log(person.fullName) и посмотрите, как он выплевывает полное имя «Мануэла Санчес» в виде строки. Круто, правда! Но допустим, мы хотим, чтобы ваше имя не Мануэла Санчес, и вы хотите изменить его на свое. Методы получения позволяют читать данные, но не изменять их. Прямо сейчас, если вы попытаетесь установить fullName для переменной, вы получите сообщение об ошибке, и именно тогда в игру вступает метод Setter.

let person = {
     first_name: "Manuela", 
     last_name: "Sanchez", 
 
get fullName() {
    return `${this.first_name} ${this.last_name}`;
  }

set fullName(value) {
    [this.first_name, this.last_name] = value.split(" ");
  }
};

При вызове метода Setter это так же просто, как сказать set, за которым следует функция fullName(value) и условие [this.fist_name, this.last_name] = value.split(" "). Обязательно передайте аргумент в вашей функции, чтобы представить изменение. Поскольку fullName() дает нам строку полного имени человека, мы будем использовать (value) для представления новой строки. Теперь попробуем изменить наши данные person.fullName = "John Smith". Если вы сделали это на своей консоли, вы заметите, что не получили никаких ошибок!

Посмотрим, что произойдет, если мы вызовем console.log(person.first_name) и console.log(person.last_name).. Мы получим значение как «John», так и «Smith». Большой! Мы изменили наши данные. Оба этих метода работают вместе, чтобы творить чудо. Мы можем получить строку полного имени и изменить полное имя.

Методы Getter и Setter более подробны, чем в этом блоге. С помощью этого инструмента мы также можем создавать скрытые функции, к которым ваши пользователи не будут иметь доступа. Они создают безопасность и ценность для объекта. Я не буду вдаваться в подробности об этом, но это хорошая статья, чтобы прочитать все о том, как это работает.



Джон Ресиг - геттеры и сеттеры JavaScript
Изменить описание johnresig.com



Существуют также разные способы вызова методов получения и установки, и эти две статьи отлично подходят для этого. Надеюсь, я дал вам полное представление об основных функциях методов получения и установки в JavaScript, чтобы остановить вашу голову от вращения и дать вам лучшее направление.