JavaScript Getter in Setter (s primeri)

V tej vadnici boste s pomočjo primerov spoznali metode pridobivanja in nastavitve JavaScript.

V JavaScript obstajajo dve vrsti lastnosti predmeta:

  • Lastnosti podatkov
  • Lastnosti dostopnika

Lastnost podatkov

Tu je primer lastnosti podatkov, ki smo jih uporabljali v prejšnjih vajah.

 const student = ( // data property firstName: 'Monica'; );

Lastnost dostopnika

V JavaScript so lastnosti dostopnika metode, ki pridobijo ali nastavijo vrednost predmeta. Za to uporabljamo ti dve ključni besedi:

  • get - za določitev metode pridobivanja za pridobitev vrednosti lastnosti
  • set - za določitev metode nastavitve za nastavitev vrednosti lastnosti

JavaScript Getter

V JavaScript se za pridobitev lastnosti predmeta uporabljajo getter metode. Na primer

 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

V zgornjem programu getName()je ustvarjen način pridobivanja za dostop do lastnosti predmeta.

 get getName() ( return this.firstName; )

Opomba: Za ustvarjanje metode pridobivanja getse uporablja ključna beseda.

In tudi pri dostopu do vrednosti dostopamo do vrednosti kot lastnosti.

 student.getName;

Ko poskušate dostopati do vrednosti kot metode, pride do napake.

 console.log(student.getName()); // error

JavaScript Setter

V JavaScript se metode nastavitve uporabljajo za spreminjanje vrednosti predmeta. Na primer

 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

V zgornjem primeru se metoda nastavitve uporablja za spreminjanje vrednosti predmeta.

 set changeName(newName) ( this.firstName = newName; )

Opomba: Za ustvarjanje metode nastavitve setuporabimo ključno besedo.

Kot je razvidno iz zgoraj navedenega programa, vrednost firstNameje Monica.

Nato se vrednost spremeni v Sarah.

 student.chageName = 'Sarah';

Opomba : Setter mora imeti natančno en formalni parameter.

JavaScript Object.defineProperty ()

V JavaScript lahko uporabite tudi Object.defineProperty()metodo za dodajanje getterjev in setterjev. Na primer

 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

V zgornjem primeru Object.defineProperty()se uporablja za dostop in spreminjanje lastnosti predmeta.

Sintaksa za uporabo Object.defineProperty()je:

 Object.defineProperty(obj, prop, descriptor)

Object.defineProperty()Postopek traja tri argumente.

  • Prvi argument je objectName.
  • Drugi argument je ime lastnosti.
  • Tretji argument je objekt, ki opisuje lastnost.

Zanimive Članki...