In objektorientierten Programmiersprachen wie Java werden statische Variablen häufig zum Deklarieren von Mitgliedern verwendet, die zu einer Klasse gehören und von allen gemeinsam genutzt werden Instanzen dieser Klasse. In diesem Artikel wird untersucht, wie dieses Konzept in JavaScript implementiert wird.
In JavaScript, das einem prototypbasierten Vererbungsmodell folgt, dienen Funktionen als Konstruktoren. Statische Eigenschaften können innerhalb der Konstruktorfunktion selbst definiert werden, da sie mit dem Funktionsobjekt verknüpft sind.
function MyClass() { // Private variable var privateVariable = "foo"; // Public variable this.publicVariable = "bar"; // Public method this.privilegedMethod = function() { alert(privateVariable); }; } // Static variable shared by all instances MyClass.staticProperty = "baz";
In diesem Beispiel wird staticProperty innerhalb der MyClass-Funktion definiert und ist für alle Instanzen der Klasse zugänglich.
ES6 führte das Schlüsselwort class zum Deklarieren von Klassen ein und stellt Syntaxzucker für prototypbasierte Anwendungen bereit Nachlass. Statische Eigenschaften und Methoden können mit dem Schlüsselwort static definiert werden.
class MyClass { constructor() { // Private variable const privateVariable = 'private value'; // Public property this.publicVariable = 'public value'; // Public method with access to private variable this.privilegedMethod = function() { console.log(privateVariable); }; } // Prototype methods publicMethod() { console.log(this.publicVariable); } // Static property shared by all instances static staticProperty = 'static value'; // Static method static staticMethod() { console.log(this.staticProperty); } }
Hier werden staticProperty und staticMethod als statische Mitglieder der MyClass-Klasse definiert, sodass auf sie zugegriffen werden kann, ohne dass eine Instanz erstellt werden muss.
Das obige ist der detaillierte Inhalt vonWie werden statische Variablen in JavaScript deklariert und verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!