JavaScript Getter і Setter (з прикладами)

У цьому посібнику ви дізнаєтеся про методи отримання і отримання JavaScript за допомогою прикладів.

У JavaScript існує два типи властивостей об’єкта:

  • Властивості даних
  • Властивості аксесуара

Властивість даних

Ось приклад властивості даних, який ми використовували в попередніх підручниках.

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

Власність аксесуара

У JavaScript властивості доступу - це методи, які отримують або встановлюють значення об'єкта. Для цього ми використовуємо ці два ключові слова:

  • get - визначити метод отримання, щоб отримати значення властивості
  • set - визначити метод встановлення для встановлення значення властивості

JavaScript Getter

У JavaScript для отримання доступу до властивостей об’єкта використовуються getter-методи. Наприклад,

 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 Setter

У 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

У наведеному вище прикладі метод встановлення використовується для зміни значення об’єкта.

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

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

Як показано у наведеній вище програмі, значення firstNameє Monica.

Потім значення змінюється на Sarah.

 student.chageName = 'Sarah';

Примітка : Setter повинен мати рівно один формальний параметр.

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.
  • Другим аргументом є назва власності.
  • Третій аргумент - це об’єкт, що описує властивість.

Цікаві статті...