Получатель и сеттер JavaScript (с примерами)

В этом руководстве вы узнаете о методах получения и установки в JavaScript с помощью примеров.

В JavaScript есть два типа свойств объекта:

  • Свойства данных
  • Свойства аксессуара

Свойство данных

Вот пример свойства данных, которое мы использовали в предыдущих уроках.

 const student = ( // data property firstName: 'Monica'; );

Свойство аксессуара

В JavaScript свойства средства доступа - это методы, которые получают или устанавливают значение объекта. Для этого мы используем эти два ключевых слова:

  • get - определить метод получения значения свойства
  • set - определить метод установки для установки значения свойства

Получатель JavaScript

В JavaScript методы получения используются для доступа к свойствам объекта. Например,

 const student = ( // data property firstName: 'Monica', // accessor property(getter) get getName() ( return this.firstName; ) ); // accessing data property console.log(student.firstName); // Monica // accessing getter methods console.log(student.getName); // Monica // trying to access as a method console.log(student.getName()); // error

В приведенной выше программе создается метод получения getName()для доступа к свойству объекта.

 get getName() ( return this.firstName; )

Примечание. Для создания метода получения используется getключевое слово.

А также при доступе к значению мы получаем доступ к значению как к свойству.

 student.getName;

Когда вы пытаетесь получить доступ к значению как к методу, возникает ошибка.

 console.log(student.getName()); // error

Сеттер JavaScript

В JavaScript методы установки используются для изменения значений объекта. Например,

 const student = ( firstName: 'Monica', //accessor property(setter) set changeName(newName) ( this.firstName = newName; ) ); console.log(student.firstName); // Monica // change(set) object property using a setter student.changeName = 'Sarah'; console.log(student.firstName); // Sarah

В приведенном выше примере метод setter используется для изменения значения объекта.

 set changeName(newName) ( this.firstName = newName; )

Примечание. Для создания метода установки используется setключевое слово.

Как показано в приведенной выше программе, значение firstNameравно Monica.

Затем значение меняется на Sarah.

 student.chageName = 'Sarah';

Примечание : Сеттер должен иметь ровно один формальный параметр.

JavaScript Object.defineProperty ()

В JavaScript вы также можете использовать Object.defineProperty()метод для добавления геттеров и сеттеров. Например,

 const student = ( firstName: 'Monica' ) // getting property Object.defineProperty(student, "getName", ( get : function () ( return this.firstName; ) )); // setting property Object.defineProperty(student, "changeName", ( set : function (value) ( this.firstName = value; ) )); console.log(student.firstName); // Monica // changing the property value student.changeName = 'Sarah'; console.log(student.firstName); // Sarah

В приведенном выше примере Object.defineProperty()используется для доступа и изменения свойства объекта.

Синтаксис использования Object.defineProperty():

 Object.defineProperty(obj, prop, descriptor)

Object.defineProperty()Метод принимает три аргумента.

  • Первый аргумент - это objectName.
  • Второй аргумент - это название свойства.
  • Третий аргумент - это объект, описывающий свойство.

Интересные статьи...