В этом руководстве вы узнаете о методах получения и установки в 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.
- Второй аргумент - это название свойства.
- Третий аргумент - это объект, описывающий свойство.