JavaScript Getter og Setter (med eksempler)

I denne veiledningen vil du lære om JavaScript-getter- og settermetoder ved hjelp av eksempler.

I JavaScript er det to typer objektegenskaper:

  • Dataegenskaper
  • Tilbehørsegenskaper

Dataegenskap

Her er et eksempel på dataegenskap som vi har brukt i forrige opplæring.

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

Tilbehørs eiendom

I JavaScript er tilgangsegenskaper metoder som henter eller setter verdien til et objekt. For det bruker vi disse to nøkkelordene:

  • get - å definere en getter-metode for å få eiendomsverdien
  • set - å definere en settermetode for å sette eiendomsverdien

JavaScript Getter

I JavaScript brukes getter-metoder for å få tilgang til egenskapene til et objekt. For eksempel,

 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

I programmet ovenfor getName()opprettes en getter-metode for å få tilgang til egenskapen til et objekt.

 get getName() ( return this.firstName; )

Merk: For å opprette en getter-metode brukes getnøkkelordet.

Og også når vi får tilgang til verdien, får vi tilgang til verdien som en eiendom.

 student.getName;

Når du prøver å få tilgang til verdien som en metode, oppstår det en feil.

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

JavaScript Setter

I JavaScript brukes settermetoder for å endre verdiene til et objekt. For eksempel,

 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

I eksemplet ovenfor brukes settermetoden for å endre verdien på et objekt.

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

Merk: For å opprette en settermetode setbrukes nøkkelordet.

Som vist i programmet ovenfor, verdien av firstNameer Monica.

Deretter endres verdien til Sarah.

 student.chageName = 'Sarah';

Merk : Setter må ha nøyaktig en formell parameter.

JavaScript Object.defineProperty ()

I JavaScript kan du også bruke Object.defineProperty()metoden for å legge til getters og setters. For eksempel,

 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

I eksemplet ovenfor Object.defineProperty()brukes til å få tilgang til og endre eiendommen til et objekt.

Syntaksen for bruk Object.defineProperty()er:

 Object.defineProperty(obj, prop, descriptor)

Den Object.defineProperty()metode tar tre argumenter.

  • Det første argumentet er objektnavnet.
  • Det andre argumentet er navnet på eiendommen.
  • Det tredje argumentet er et objekt som beskriver eiendommen.

Interessante artikler...