JavaScript Getter og Setter (med eksempler)

I denne vejledning lærer du om JavaScript-getter- og settermetoder ved hjælp af eksempler.

I JavaScript er der to slags objektegenskaber:

  • Dataegenskaber
  • Accessor egenskaber

Dataejendom

Her er et eksempel på dataegenskaber, som vi har brugt i de foregående tutorials.

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

Accessor ejendom

I JavaScript er accessoregenskaber metoder, der henter eller indstiller værdien af ​​et objekt. Til det bruger vi disse to nøgleord:

  • get - at definere en getter-metode for at få ejendomsværdien
  • set - at definere en settermetode til at indstille ejendomsværdien

JavaScript Getter

I JavaScript bruges getter-metoder til at få adgang til et objekts egenskaber. 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 ovenstående program getName()oprettes en getter-metode for at få adgang til et objekts egenskab.

 get getName() ( return this.firstName; )

Bemærk: For at oprette en getter-metode getbruges nøgleordet.

Og også når vi får adgang til værdien, får vi adgang til værdien som en ejendom.

 student.getName;

Når du prøver at få adgang til værdien som en metode, opstår der en fejl.

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

JavaScript Setter

I JavaScript bruges settermetoder til at ændre et objekts værdier. 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 ovenstående eksempel bruges setter-metoden til at ændre værdien af ​​et objekt.

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

Bemærk: For at oprette en settermetode setbruges nøgleordet.

Som vist i det ovennævnte program, værdien af firstNameer Monica.

Derefter ændres værdien til Sarah.

 student.chageName = 'Sarah';

Bemærk : Setter skal have nøjagtigt en formel parameter.

JavaScript Object.defineProperty ()

I JavaScript kan du også bruge Object.defineProperty()metoden til at tilføje 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 ovenstående eksempel Object.defineProperty()bruges til at få adgang til og ændre et objekts egenskab.

Syntaksen til brug Object.defineProperty()er:

 Object.defineProperty(obj, prop, descriptor)

Den Object.defineProperty()metode har tre argumenter.

  • Det første argument er objektnavnet.
  • Det andet argument er navnet på ejendommen.
  • Det tredje argument er et objekt, der beskriver ejendommen.

Interessante artikler...