„JavaScript Getter and Setter“ (su pavyzdžiais)

Š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 gauti
  • set - 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 getraktinis ž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 setraktinis žodis.

Kaip parodyta pirmiau pateiktoje programoje, reikšmė firstNameyra 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ę.

Įdomios straipsniai...