JavaScript Getter și Setter (cu exemple)

În acest tutorial, veți afla despre metodele JavaScript getter și setter cu ajutorul unor exemple.

În JavaScript, există două tipuri de proprietăți ale obiectului:

  • Proprietăți de date
  • Proprietăți accesor

Proprietatea datelor

Iată un exemplu de proprietate de date pe care l-am folosit în tutorialele anterioare.

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

Accesor Proprietate

În JavaScript, proprietățile accesorului sunt metode care obțin sau setează valoarea unui obiect. Pentru aceasta, folosim aceste două cuvinte cheie:

  • get - pentru a defini o metodă getter pentru a obține valoarea proprietății
  • set - pentru a defini o metodă setter pentru a seta valoarea proprietății

JavaScript Getter

În JavaScript, metodele getter sunt utilizate pentru a accesa proprietățile unui obiect. De exemplu,

 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

În programul de mai sus, getName()se creează o metodă getter pentru a accesa proprietatea unui obiect.

 get getName() ( return this.firstName; )

Notă: Pentru a crea o metodă getter, getse folosește cuvântul cheie.

Și, de asemenea, atunci când accesăm valoarea, accesăm valoarea ca proprietate.

 student.getName;

Când încercați să accesați valoarea ca metodă, apare o eroare.

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

JavaScript Setter

În JavaScript, metodele setter sunt utilizate pentru a schimba valorile unui obiect. De exemplu,

 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

În exemplul de mai sus, metoda setter este utilizată pentru a modifica valoarea unui obiect.

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

Notă: Pentru a crea o metodă de setare, setse folosește cuvântul cheie.

După cum se arată în programul de mai sus, valoarea lui firstNameeste Monica.

Apoi valoarea este schimbată în Sarah.

 student.chageName = 'Sarah';

Notă : Setterul trebuie să aibă exact un parametru formal.

JavaScript Object.defineProperty ()

În JavaScript, puteți utiliza, de asemenea, Object.defineProperty()metoda pentru a adăuga getters și setere. De exemplu,

 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

În exemplul de mai sus, Object.defineProperty()este utilizat pentru a accesa și modifica proprietatea unui obiect.

Sintaxa de utilizare Object.defineProperty()este:

 Object.defineProperty(obj, prop, descriptor)

Object.defineProperty()Metoda are trei argumente.

  • Primul argument este obiectulNume.
  • Al doilea argument este numele proprietății.
  • Al treilea argument este un obiect care descrie proprietatea.

Articole interesante...