У овом упутству ћете научити о ЈаваСцрипт геттер и сеттер методама уз помоћ примера.
У ЈаваСцрипт-у постоје две врсте својстава објекта:
- Својства података
- Својства приступника
Својство података
Ево примера својства података које смо користили у претходним водичима.
const student = ( // data property firstName: 'Monica'; );
Својство приступника
У ЈаваСцрипт-у својства приступника су методе које добијају или постављају вредност објекта. За то користимо ове две кључне речи:
get
- да дефинише геттер метод за добијање вредности својстваset
- за дефинисање методе постављача за подешавање вредности својства
ЈаваСцрипт Геттер
У ЈаваСцрипт-у се геттер методе користе за приступ својствима објекта. На пример,
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
ЈаваСцрипт Сеттер
У ЈаваСцрипт-у, методе постављања користе се за промену вредности објекта. На пример,
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';
Напомена : Постављач мора имати тачно један формални параметар.
ЈаваСцрипт Објецт.дефинеПроперти ()
У ЈаваСцрипт-у такође можете користити 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()
Метод узима три аргумента.
- Први аргумент је објецтНаме.
- Други аргумент је назив имовине.
- Трећи аргумент је објекат који описује својство.