JavaScript Getter i Setter (s primjerima)

U ovom ćete uputstvu uz primjere naučiti o metodama dobivanja i postavljanja JavaScript-a.

U JavaScript-u postoje dvije vrste svojstava objekta:

  • Svojstva podataka
  • Svojstva pristupnika

Svojstvo podataka

Evo primjera svojstva podataka koje smo koristili u prethodnim vodičima.

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

Svojstvo pristupnika

U JavaScript-u svojstva pristupnika su metode koje dobivaju ili postavljaju vrijednost objekta. Za to koristimo ove dvije ključne riječi:

  • get - definirati getter metodu za dobivanje vrijednosti svojstva
  • set - za definiranje metode postavljača za postavljanje vrijednosti svojstva

JavaScript Getter

U JavaScriptu se za dobivanje svojstava objekta koriste getter metode. Na primjer,

 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

U gore navedenom programu getName()stvorena je metoda getera za pristup svojstvu objekta.

 get getName() ( return this.firstName; )

Napomena: Za stvaranje metode dobivanja koristi se getključna riječ.

A također kad pristupamo vrijednosti, pristupamo vrijednosti kao svojstvo.

 student.getName;

Kada pokušate pristupiti vrijednosti kao metodi, pojavljuje se pogreška.

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

JavaScript postavljač

U JavaScriptu se metode postavljanja koriste za promjenu vrijednosti objekta. Na primjer,

 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

U gornjem primjeru, metoda postavljanja koristi se za promjenu vrijednosti objekta.

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

Napomena: Za stvaranje metode postavljanja koristi se setključna riječ.

Kao što je prikazano u gornjem programu, vrijednost firstNameje Monica.

Tada se vrijednost mijenja u Sarah.

 student.chageName = 'Sarah';

Napomena : Setter mora imati točno jedan formalni parametar.

JavaScript Object.defineProperty ()

U JavaScriptu također možete koristiti Object.defineProperty()metodu za dodavanje getera i postavljača. Na primjer,

 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

U gornjem primjeru Object.defineProperty()koristi se za pristup i promjenu svojstva objekta.

Sintaksa za korištenje Object.defineProperty()je:

 Object.defineProperty(obj, prop, descriptor)

Object.defineProperty()Metoda uzima tri argumente.

  • Prvi argument je objectName.
  • Drugi argument je naziv nekretnine.
  • Treći argument je objekt koji opisuje svojstvo.

Zanimljivi članci...