Private Methoden in JavaScript definieren
Das Erstellen von Klassen in JavaScript sorgt für eine klare Trennung von Funktionen und Daten. Öffentliche Methoden sind leicht zugänglich, aber wie definieren Sie private Methoden, auf die nur andere Methoden innerhalb der Klasse zugreifen können?
Um private Methoden in JavaScript zu implementieren, können Sie den folgenden Ansatz wählen:
1. Private Variablen deklarieren:
Definieren Sie private Variablen innerhalb der Konstruktorfunktion, um Daten zu speichern, auf die nur innerhalb der Klasse zugegriffen werden sollte.
2. Private Funktionen erstellen:
Definieren Sie private Funktionen außerhalb des Klassenprototyps. Auf diese Funktionen kann nur im Rahmen der Konstruktorfunktion zugegriffen werden.
3. Rufen Sie private Funktionen von öffentlichen Methoden auf:
Öffentliche Methoden können private Funktionen aufrufen, um auf private Daten zuzugreifen und bestimmte Aufgaben auszuführen. Private Funktionen können jedoch nicht direkt von außerhalb der Klasse aufgerufen werden.
Zum Beispiel:
<code class="javascript">function Restaurant() { var privateVar; // Private variable var privateFunction = function() { // Private function privateVar = "Private data"; } this.publicMethod1 = function() { // Public method privateFunction(); // Can call private function } this.publicMethod2 = function() { // Public method privateFunction(); // Can call private function } }</code>
In diesem Beispiel ist privateFunction eine private Funktion, die den Wert der privaten Variablen privateVar festlegt. Die öffentlichen Methoden publicMethod1 und publicMethod2 können privateFunction aufrufen, um auf private Daten zuzugreifen. Allerdings kann externer Code privateFunction nicht direkt aufrufen.
Einschränkungen:
Dieser Ansatz hat eine Haupteinschränkung: Private Methoden können nicht Teil des Klassenprototyps sein. Dies bedeutet, dass Sie sie nicht mithilfe der Objektliteral-Kurzschreibweise definieren können.
Das obige ist der detaillierte Inhalt vonWie definieren Sie private Methoden in JavaScript-Klassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!