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