Getters und Setter in der JavaScript -Klasse

Getters und Setter in der JavaScript -Klasse

In einer JavaScript -Klasse werden Getter und Setter verwendet, um die Eigenschaftenwerte zu erhalten oder festzulegen. “erhaltenIst das Schlüsselwort, das verwendet wird, um a zu definieren Getter Methode zum Abrufen des Eigenschaftswerts, während “Satz”Definiert eine Settermethode zum Ändern des Wertes einer bestimmten Eigenschaft. Wenn wir auf eine Eigenschaft unseres JavaScript -Objekts zugreifen möchten, wird der von der Getter -Methode zurückgegebene Wert verwendet. Um einen Eigenschaftswert festzulegen.

In diesem Artikel werden Gettters und Setter in JavaScript besprochen. Darüber hinaus werden wir auch Beispiele im Zusammenhang mit Getter und Setter Definition in der JavaScript -Klasse demonstrieren. So lass uns anfangen!

Getters und Setter in der JavaScript -Klasse

Im folgenden Beispiel werden wir eine erstellen “MitarbeiterKlasse mit einem Konstruktor. Der Konstruktor der “Mitarbeiter"Die Klasse wird den Mitarbeiter initialisieren"Name”In die Zeichenfolge als Argument übergeben:

classPersion
Konstruktor (Name)
Das.Name = Name;

Jetzt werden wir ein Mitarbeiterinklassenobjekt namens erstellen. “Mitarbeiter”Und hinzufügen“Jack”Wie der Name:

Lassen Sie Mitarbeiter = neuer Mitarbeiter ("Jack");

Danach können wir auf die “zugreifen“Name”Eigentum der“Mitarbeiter”Objekt auf die folgende Weise:

Konsole.Protokoll (Mitarbeiter.Name);

Die Ausgabe des oben gegebenen Programms ist unten dargestellt:

Manchmal möchten Sie möglicherweise nicht direkt auf eine Eigenschaft zugreifen. Dort kommen das Getter- und Setter -Paar zum Stück.

Beispiel 1: Getter und Setter in der JavaScript -Klasse

Um die Verwendung von Getter und Setter zu demonstrieren, werden wir zunächst eine erstellenMitarbeiter"Klasse mit einer"Name" Eigentum:

classPersion
Konstruktor (Name)
Das.setName (name);

Im nächsten Schritt werden wir eine definieren “GetName ()"Methode, die den Wert des Arbeitnehmers zurückgibt"Name" Eigentum:

GetName ()
Rückkehr.Name;

Eine andere Methode, die wir hinzufügen werden, ist “Name einsetzen()”. Die SetName () -Methode unserer Mitarbeiterklasse hat eine “neuer NameParameter. Diese Methode entfernen alle Whitespaces aus dem Wert der “neuer Name" Und es wird auch eine Ausnahme ausgeben, wenn Sie keinen Namen eingegeben haben:

setName (newname)
newname = newname.trimmen();
if (newname === ")
einen Mitarbeiternamen werfen ';

Das.name = newname;

Wie wir unsere genannt haben ““Name einsetzen()Methode im Konstruktor, also wann immer wir eine "erstellen"MitarbeiterObjekt, das “Name”Als Argument übergeben wird von der Methode setName (). Anschließend verschiebt der Konstruktor den Steuerfluss auf die Methode setName () und setzt die Werte, die ein Argument als „übergebene ArgumentMitarbeiter" Objektname:

Lassen Sie Mitarbeiter = neuer Mitarbeiter ('Jack Smith');
Konsole.Protokoll (Mitarbeiter);

Sie können auch die Erstellten aufrufen “Name einsetzen()" Und "GetName ()”Methoden auf folgende Weise:

Mitarbeiter.setname ('William Smith');
Konsole.Protokoll (Mitarbeiter.GetName ());

Die oben gegebenen Codezeilen werden festgelegt “William Smith”Als Name der“Mitarbeiter" Objekt. Dann ist die "GetName ()Mit der Methode informieren Sie den Wert des Mitarbeiternamens:

In dem vorgesehenen Beispiel arbeiten die Methode SetName () und GetName () als Getter und Setter .

Beispiel 2: Getter und Setter in der JavaScript -Klasse

Für die Definition von Getter und Setter in der JavaScript -Klasse bietet ES6 auch eine bestimmte Syntax. Um Ihnen zu zeigen, wie man das benutzt, werden wir in unsere Mitarbeiterklasse eingehen:

classPersion
Konstruktor (Name)
Das.Name = Name;

Dann definieren wir die Getter -Methode, indem wir das Schlüsselwort verwenden “erhalten”Auf den Methodennamen folgen. Eine andere Sache, die wir hier erwähnen möchten, ist, dass das “Name"Eigentum unserer"Mitarbeiter"Die Klasse wird sich zu ändern"_Name”Um den Konflikt mit Getter und Setter zu vermeiden:

GetName ()
Rückkehr._Name;

Um eine Settermethode zu definieren, müssen Sie die “hinzufügenSetterSchlüsselwort vor Angabe des Methodennamens:

Setzen Sie den Namen (NewName)
newname = newname.trimmen();
if (newname === ")
werfen "Bitte geben Sie einen Mitarbeiternamen ein";

Das._name = newname;

Wenn Sie dem Wert dem "zuweisen" zuweisen "Name"Eigentum von Ihrem"Mitarbeiter"Klassenobjekt, JavaScript wird die Setter -Methode aufrufen"Name()”:

Mitarbeiter.Name = 'Paul Max';

Als nächstes rufen wir die Out Getter-Methode an, um die untergegebene Syntax zu verwenden:

lass Empname = Mitarbeiter.Name;

Wenn der JavaScript-Interpreter nun die oben gegebenen Zeilen ausführt, wird es überprüft, ob es sich um alle handeltNameEigentum in "Mitarbeiter" Klasse. Es wird weiter nach einer Methode suchen, die die bindet “NameEigentum, wenn es nicht gefunden wird. In unserem Fall wird der Dolmetscher auf die Getter -Methode zugreifen und nach der Ausführung gibt es den Wert von “zurückName" Eigentum:

Wenn Sie in Ihrer JavaScript -Klasse keine Setter -Methode definiert haben, erhalten Sie einen TypenError, in dem Sie angeben, dass Sie die Eigenschaft nicht festlegen könnenName" des "Mitarbeiter”Objekt wie das“MitarbeiterDie Klasse hat nur eine Gettter -Funktion:

Klassenangestellter
Konstruktor (Name)
Das.Name = Name;

name ()
Rückkehr._Name;

// keine Settermethode

Lassen Sie Mitarbeiter = neuer Mitarbeiter ("Stephen Edward");
Konsole.Protokoll (Mitarbeiter.Name);

Hier werden wir versuchen, den Namen unserer zu ändern “Mitarbeiter" Objekt; In unserer Klasse haben wir jedoch keine Settermethode hinzugefügt:

Mitarbeiter.Name = 'Paul Smith';
Konsole.Protokoll (Mitarbeiter.Name);

Wie Sie sehen können, sind wir auf einen Typfehler gestoßen, während wir versucht haben, den Wert des Namens Eigenschaften festzulegen:

Abschluss

Mit den Schlüsselwörtern GET und Setzen können Sie die Getter- und Setter -Methoden in einer JavaScript -Klasse problemlos definieren. Die Getter -Methode gibt den Eigenschaftswert zurück, während in der Setter -Methode ein Argument an die Setter -Methode übergeben wird. In diesem Aufschreiben wurden Getter und Setter in JavaScript besprochen. Darüber hinaus haben wir auch Beispiele zur Definition und Nutzung von Getter und Setter in der JavaScript -Klasse gezeigt.