Šajā apmācībā jūs uzzināsit par JavaScript getter un seter metodēm ar piemēru palīdzību.
JavaScript ir divu veidu objektu rekvizīti:
- Datu īpašības
- Piederumu īpašības
Datu īpašums
Šeit ir datu rekvizītu piemērs, ko mēs izmantojām iepriekšējās apmācībās.
const student = ( // data property firstName: 'Monica'; );
Piederuma īpašums
JavaScript piekļuves rekvizīti ir metodes, kas iegūst vai iestata objekta vērtību. Tam mēs izmantojam šos divus atslēgvārdus:
get
- definēt labāku metodi, lai iegūtu rekvizīta vērtībuset
- noteikt setera metodi rekvizīta vērtības iestatīšanai
JavaScript Getter
JavaScript piekļuvei objekta īpašībām tiek izmantotas getter metodes. Piemēram,
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
Iepriekš minētajā programmā getName()
tiek izveidota metode getter, lai piekļūtu objekta īpašumam.
get getName() ( return this.firstName; )
Piezīme. Lai izveidotu getter metodi, get
tiek izmantots atslēgvārds.
Un arī, piekļūstot vērtībai, mēs piekļūstam vērtībai kā īpašumam.
student.getName;
Mēģinot piekļūt vērtībai kā metodei, rodas kļūda.
console.log(student.getName()); // error
JavaScript iestatītājs
JavaScript, lai mainītu objekta vērtības, tiek izmantotas setera metodes. Piemēram,
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
Iepriekš minētajā piemērā, lai mainītu objekta vērtību, tiek izmantota setera metode.
set changeName(newName) ( this.firstName = newName; )
Piezīme. Lai izveidotu setera metodi, set
tiek izmantots atslēgvārds.
Kā parādīts iepriekš minētajā programmā, vērtība firstName
ir Monica
.
Tad vērtība tiek mainīta uz Sarah
.
student.chageName = 'Sarah';
Piezīme : Setteram jābūt tieši vienam formālam parametram.
JavaScript Object.defineProperty ()
JavaScript, jūs varat arī izmantot Object.defineProperty()
metodi, lai pievienotu getters un seters. Piemēram,
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
Iepriekš minētajā piemērā Object.defineProperty()
tiek izmantots, lai piekļūtu un mainītu objekta rekvizītu.
Lietošanas sintakse Object.defineProperty()
ir šāda:
Object.defineProperty(obj, prop, descriptor)
Object.defineProperty()
Metode aizņem trīs argumentus.
- Pirmais arguments ir objectName.
- Otrais arguments ir īpašuma nosaukums.
- Trešais arguments ir objekts, kas apraksta īpašumu.