Šioje pamokoje, naudodamiesi pavyzdžiais, sužinosite apie „JavaScript“ nustatymo ir nustatymo metodus.
„JavaScript“ yra dviejų rūšių objekto ypatybės:
- Duomenų ypatybės
- Prieigos savybės
Duomenų nuosavybė
Pateikiame duomenų nuosavybės, kurią naudojome ankstesnėse mokymo programose, pavyzdį.
const student = ( // data property firstName: 'Monica'; );
„Accessor Property“
„JavaScript“ prieigos ypatybės yra metodai, gaunantys arba nustatantys objekto vertę. Tam mes naudojame šiuos du raktinius žodžius:
get
- apibrėžti „getter“ metodą nuosavybės vertei gautiset
- apibrėžti seterio metodą nuosavybės vertei nustatyti
„JavaScript Getter“
„JavaScript“, norint pasiekti objekto ypatybes, naudojami „getter“ metodai. Pavyzdžiui,
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
Pirmiau pateiktoje programoje sukuriamas getter metodas getName()
pasiekti objekto ypatybes.
get getName() ( return this.firstName; )
Pastaba: norint sukurti „getter“ metodą, naudojamas get
raktinis žodis.
Be to, pasiekdami vertę, mes pasiekiame vertę kaip nuosavybę.
student.getName;
Kai bandote pasiekti vertę kaip metodą, įvyksta klaida.
console.log(student.getName()); // error
„JavaScript“ seteris
„JavaScript“ objekto reikšmėms pakeisti naudojami nustatymo metodai. Pavyzdžiui,
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
Ankstesniame pavyzdyje setter metodas naudojamas objekto vertei pakeisti.
set changeName(newName) ( this.firstName = newName; )
Pastaba: norint sukurti seterio metodą, naudojamas set
raktinis žodis.
Kaip parodyta pirmiau pateiktoje programoje, reikšmė firstName
yra Monica
.
Tada vertė pakeičiama į Sarah
.
student.chageName = 'Sarah';
Pastaba : seteris turi turėti tiksliai vieną oficialų parametrą.
„JavaScript Object.defineProperty“ ()
„JavaScript“ taip pat galite naudoti Object.defineProperty()
metodą, norėdami pridėti getters ir seterius. Pavyzdžiui,
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
Ankstesniame pavyzdyje Object.defineProperty()
naudojamas norint pasiekti ir pakeisti objekto ypatybes.
Naudojimo sintaksė Object.defineProperty()
yra:
Object.defineProperty(obj, prop, descriptor)
Object.defineProperty()
Metodas trunka tris argumentus.
- Pirmasis argumentas yra objectName.
- Antrasis argumentas yra turto pavadinimas.
- Trečias argumentas yra objektas, apibūdinantis nuosavybę.