Einführung in die statische JavaScript-Methode

Generell werden statische JavaScript-Methoden zum Erstellen von Dienstprogrammfunktionen verwendet. Sie werden in ES6 für die klassenspezifische Methode zur objektorientierten Programmierung in JavaScript eingeführt.

Um eine statische Methode zu deklarieren, können wir einfach das statische Schlüsselwort mit der Methodensignatur verwenden. Die statischen Methoden werden nicht für die Instanz der Klasse aufgerufen, sondern direkt für die Klasse.

Wir können also sagen, dass JavaScript uns eine statische Methode zur Verfügung stellt, die zur Klasse gehört, aber nicht zur Instanz der Klasse. Wie bei Java benötigen wir also keine Instanz der Klasse, um die statische Methode auch in JavaScript aufzurufen. Daher gehört die statische Methode in JavaScript zur Klasse selbst.

Syntax:

static methodName()()

In JavaScript verwenden wir auch das Schlüsselwort static, um eine Methode als statische Methode zu definieren. Wir müssen nur das statische Schlüsselwort zusammen mit dem Methodennamen verwenden. Methodennamen können beliebig sein. Es gibt viele Punkte, die mit diesem statischen Schlüsselwort zusammenhängen:

  • Eine Klasse kann beliebig viele statische Methoden enthalten. Mit anderen Worten, eine Klasse kann mehr als eine statische Methode haben.
  • Die statische Methode kann wie jede andere Methode oder Funktion einen beliebigen Namen haben.
  • Mit diesem Schlüsselwort können Sie eine statische Methode von einer anderen statischen Methode aufrufen.
  • Mit der statischen Methode können Dienstprogrammfunktionen erstellt werden.
  • Wenn wir in solchen Fällen eine statische Methode von der nicht statischen Methode aufrufen möchten, können wir dieses Schlüsselwort nicht verwenden. Wir müssen die statische Methode über den Klassennamen oder als Eigenschaft des Konstruktors aufrufen.
  • Wir können mehr als eine statische Methode mit demselben Namen deklarieren, aber wenn wir dies tun, ruft JavaScript immer die letzte auf.

Ein einfaches Beispiel zur Veranschaulichung der Syntax der statischen Methode.

Code:


class Syntax
(
static displayMessage()
(
return "static method called"
)
)
document.writeln(Syntax.displayMessage());

Im obigen Beispiel rufen wir die statische Methode mit dem Klassennamen auf, ohne die Instanz der Klasse zu erstellen. Nur Klassenname als Instanz verwenden.

Wie funktionieren statische Methoden in JavaScript?

  • Statische Methoden sind Methoden, bei denen ein Objekt einer Klasse erstellt werden muss, bevor sie tatsächlich aufgerufen werden. Um sie aufzurufen, müssen wir das Objekt der Klasse erstellen, in der es definiert ist. Die statische Methode erhält einen Aufruf auf zwei Arten, wobei eine dieses Schlüsselwort verwendet und die andere vom Konstruktor.
  • Statische Methoden können die nicht statische Methode nicht direkt aufrufen. On-static-Methoden verwenden den Status der Instanzvariablen, um ihr Verhalten zu beeinflussen. Die statische Methode kann auch den Status der Instanzvariablen nicht sehen. Wenn wir also versuchen, die nicht statische Methode vom Compiler der statischen Methode aufzurufen, wird dies beanstandet.
  • Außerdem kann die statische Methode die nicht statische Instanzvariable nicht verwenden. Die statische Methode kann nicht auf Instanzvariablen der Klasse verweisen. Die statische Methode weiß nicht, welchen Variablenwert die Instanz verwenden soll.
  • Während bei nicht statischen Methoden ein statisches Schlüsselwort zusammen mit dem Methodennamen vorhanden ist und wenn Sie mit nicht statischen Methoden arbeiten möchten, müssen Sie das Objekt dieser Klasse erstellen, da es nur zu der Klasse gehört, in der es ist deklariert. Nicht-statische Methoden können ohne Klasseninstanz problemlos auf statische und statische Variablen zugreifen.

Um eine statische Methode von einer anderen statischen Methode aufzurufen, können wir das Schlüsselwort 'this' verwenden.

Code:

class StaticMethodCallDemo (
static staticMethodOne() (
return 'Static method one is called from ';
)
static sttaicMethodTwo() (
return this.staticMethod() + ' static method two';
)
)
StaticMethodCallDemo.staticMethodOne();
StaticMethodCallDemo.sttaicMethodTwo();

Was aber, wenn wir eine statische Methode von der nicht statischen Methode aufrufen wollen? Hierfür können wir einen der beiden Ansätze wählen

1) classname.static_method_name (); : Mit dem Klassennamen
2) this.constructor.static_method_name (); : Oder mithilfe der Konstruktoreigenschaft.

Code:

class StaticMethodCallDemo2 (
constructor() (
console.log(StaticMethodCallDemo2.staticMethodOne());
// 'static method called using class name.'
console.log(this.constructor.staticMethodOne());
// 'static methed called using constructor property.'
)
static staticMethodOne() (
return 'static method has been called.';
)
)

JavaScript hat auch die Einführung von Klassen in ES6, so dass wir jetzt die statische Methode, Konstruktoren, Super-Aufrufe an Eltern und Vererbung verwenden können, was die Interoperabilität für den Entwickler viel einfacher macht. Wir können also eine Unterklasse zu einer übergeordneten Klasse haben und jede Methode, die wir in der übergeordneten Klasse deklarieren, die auch in der Unterklasse verfügbar ist. Getter- und Setter-Accessoren werden ebenfalls in ES5 eingeführt und können mit dem Schlüsselwort static verwendet werden. Im folgenden Beispiel wird gezeigt, wie dies mit dem Schlüsselwort static verwendet wird.

Code:

class Demo(
constructor(name)(
this.name = name
)
static get Leader()(
return new Demo(abc)
)
)

Beispiele für statische JavaScript-Methoden

Hier einige Beispiele für die statische JavaScript-Methode:

Beispiel 1

Anzeige der gleichnamigen statischen Methode.

Code:



class SameNameDemo
(
static displayMsg()
(
return "static method with same name one"
)
static displayMsg()
(
return "static method with same name two"
)
)
document.writeln(SameNameDemo.displayMsg());

Ausgabe:

Beispiel # 2

Beispiel zum Aufrufen mehrerer statischer Methoden.

Code:



class NoSameName
(
static displayMsg1()
(
return "static method one is called"
)
static displayMsg2()
(
return "static method two is called"
)
)
document.writeln(NoSameName.displayMsg1()+"
");
document.writeln(NoSameName.displayMsg2());

Ausgabe:

Beispiel # 3

So zeigen Sie eine Nachricht an

Code:



class Demo
(
static displayMsg()
(
return "static method is called"
)
)
document.writeln(Demo.displayMsg());

Ausgabe:

Beispiel # 4

Aufrufen einer statischen Methode von einer nicht statischen Methode.

Code:



class Demo (
static displayMsg() (
return "calling static method from non static method"
)
showMsg() (
document.writeln(Demo.displayMsg()+"
");
)
)
var demo =new Demo();
demo.showMsg();

Ausgabe:

Beispiel # 5

Aufrufen einer statischen Methode aus dem Konstruktor.

Code:



class Demo (
constructor() (
document.writeln (Demo.displayMag()+"
");
document.writeln (this.constructor.displayMag());
)
static displayMag() (
return "calling static method from constructor."
)
)
var demo = new Demo();

Ausgabe :

Fazit

Grundsätzlich erfordert die statische Methode nicht, dass die Instanz auf sie zugreift. Wir können sie direkt über den Klassennamen aufrufen, zu dem sie gehören. Zum Beispiel ClassName.Static-method-name-to-be = called ();

Empfohlene Artikel

Dies ist eine Anleitung zur statischen JavaScript-Methode. Hier werden Syntax, Funktionsweise und Beispiele der statischen JavaScript-Methode erläutert. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren -

  1. JavaScript-Ereignisse
  2. Fehler in JavaScript
  3. JavaScript gegen Ruby
  4. Rekursive Funktion in JavaScript