JavaScript Getter and Setter (z przykładami)

W tym samouczku dowiesz się na temat metod pobierających i ustawiających w języku JavaScript przy pomocy przykładów.

W JavaScript istnieją dwa rodzaje właściwości obiektów:

  • Właściwości danych
  • Właściwości akcesorium

Właściwość danych

Oto przykład właściwości danych, której używaliśmy w poprzednich samouczkach.

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

Właściwość akcesorium

W JavaScript właściwości akcesora to metody pobierające lub ustawiające wartość obiektu. W tym celu używamy tych dwóch słów kluczowych:

  • get - zdefiniowanie metody pobierającej w celu uzyskania wartości właściwości
  • set - aby zdefiniować metodę ustawiającą w celu ustawienia wartości właściwości

JavaScript Getter

W JavaScript metody pobierające służą do uzyskiwania dostępu do właściwości obiektu. Na przykład,

 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

W powyższym programie getName()tworzona jest metoda pobierająca w celu uzyskania dostępu do właściwości obiektu.

 get getName() ( return this.firstName; )

Uwaga: aby utworzyć metodę pobierającą, getużywane jest słowo kluczowe.

A także podczas uzyskiwania dostępu do wartości, uzyskujemy dostęp do wartości jako właściwości.

 student.getName;

Podczas próby uzyskania dostępu do wartości jako metody występuje błąd.

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

JavaScript Setter

W JavaScript metody ustawiające służą do zmiany wartości obiektu. Na przykład,

 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

W powyższym przykładzie metoda ustawiająca służy do zmiany wartości obiektu.

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

Uwaga: aby utworzyć metodę ustawiającą, setużywane jest słowo kluczowe.

Jak pokazano w powyższym programie, wartość firstNameto Monica.

Następnie wartość jest zmieniana na Sarah.

 student.chageName = 'Sarah';

Uwaga : ustawiający musi mieć dokładnie jeden parametr formalny.

JavaScript Object.defineProperty ()

W JavaScript możesz także użyć Object.defineProperty()metody, aby dodać metody pobierające i ustawiające. Na przykład,

 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

W powyższym przykładzie Object.defineProperty()służy do uzyskiwania dostępu i zmiany właściwości obiektu.

Składnia użycia Object.defineProperty()to:

 Object.defineProperty(obj, prop, descriptor)

Object.defineProperty()Metoda pobiera trzy argumenty.

  • Pierwszym argumentem jest nazwa_obiektu.
  • Drugim argumentem jest nazwa właściwości.
  • Trzeci argument to obiekt opisujący właściwość.

Interesujące artykuły...