Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Statische Methoden | Klassen
Fortgeschrittene JavaScript-Meisterschaft
course content

Kursinhalt

Fortgeschrittene JavaScript-Meisterschaft

Fortgeschrittene JavaScript-Meisterschaft

2. DOM-Manipulation
3. Ereignisse und Ereignisbehandlung
4. Asynchrones JavaScript und APIs

book
Statische Methoden

Statische Methoden bieten gemeinsame Funktionalität auf Klassenebene, zugänglich ohne Erstellen einer Instanz.

Was sind statische Methoden?

Denken Sie an ein Versorgungsunternehmen, das Strom liefert. Das Unternehmen selbst (Klasse) liefert die Energie, aber Sie (eine Instanz) müssen kein Kraftwerk zu Hause errichten. Stattdessen greifen Sie direkt auf den Service des Unternehmens (statische Methode) zu.

Wie man statische Methoden definiert und verwendet

Statische Methoden werden mit dem Schlüsselwort static deklariert. Sie können direkt von der Klasse aus aufgerufen werden, haben jedoch keinen Zugriff auf Instanzeigenschaften oder -methoden, da sie auf Klassenebene operieren.

123456789101112131415
class MathUtils { // Static method to calculate the square of a number static square(number) { return number * number; } // Static method to calculate the cube of a number static cube(number) { return number * number * number; } } // Calling static methods directly from the class console.log(MathUtils.square(4)); // Output: 16 console.log(MathUtils.cube(3)); // Output: 27
copy

In diesem Beispiel sind die Methoden square und cube statisch, was bedeutet, dass sie zur Klasse MathUtils gehören und direkt auf der Klasse selbst aufgerufen werden können. Diese Methoden führen mathematische Operationen durch und werden von der gesamten Klasse geteilt, ohne mit einer bestimmten Instanz verknüpft zu sein.

Warum statische Methoden verwenden?

Statische Methoden sind nützlich, wenn Sie Funktionalität bereitstellen möchten, die sich auf die Klasse bezieht, aber nicht an einzelne Instanzen gebunden sein muss. Sie werden häufig für Hilfsfunktionen, Hilfsmethoden oder Logik verwendet, die allgemein auf die gesamte Klasse zutrifft.

  • Statische Methoden werden oft für Operationen verwendet, die universell anwendbar sind, wie mathematische Berechnungen, Datumsmanipulation oder String-Formatierung;
  • Statische Methoden können auch für Operationen verwendet werden, die die Klasse selbst betreffen, wie das Erstellen von Instanzen auf bestimmte Weise, das Verwalten von Konfigurationen auf Klassenebene oder das Bereitstellen von klassenweiten Datenzugriff.

Beispiel: Statische Hilfsmethode

Nehmen wir ein Beispiel aus der realen Welt, bei dem eine User-Klasse eine statische Methode hat, um die IDs von zwei Benutzern zu vergleichen. Diese Methode muss nicht mit den Daten eines einzelnen Benutzers interagieren, daher kann sie eine statische Methode der Klasse sein.

12345678910111213141516171819
class User { constructor(id, name) { this.id = id; this.name = name; } // Static method to compare user IDs static compareIds(user1, user2) { return user1.id === user2.id; } } const user1 = new User(101, 'Alice'); const user2 = new User(102, 'Bob'); const user3 = new User(101, 'Charlie'); // Using the static method to compare user IDs console.log(User.compareIds(user1, user2)); // Output: false console.log(User.compareIds(user1, user3)); // Output: true
copy

In diesem Beispiel gehört die statische Methode compareIds zur Klasse User und ermöglicht es Ihnen, die IDs von zwei User-Instanzen zu vergleichen, ohne Zugriff auf deren individuelle Eigenschaften oder Methoden zu benötigen.

Wichtige Unterschiede zwischen statischen und Instanzmethoden

Beispiel aus der Praxis: Anwendungsdienstprogrammklasse

Nehmen wir ein Szenario, in dem eine Anwendung Daten protokollieren muss. Eine Logger-Klasse kann statische Methoden haben, um Nachrichten mit unterschiedlichen Ebenen (Info, Warnung, Fehler) zu protokollieren. Diese Methoden können global aufgerufen werden, ohne eine Instanz des Loggers zu erstellen.

123456789101112131415161718
class Logger { static info(message) { console.log(`INFO: ${message}`); } static warning(message) { console.warn(`WARNING: ${message}`); } static error(message) { console.error(`ERROR: ${message}`); } } // Calling static methods directly from the Logger class Logger.info('Application started'); Logger.warning('Low disk space'); Logger.error('Uncaught exception occurred');
copy

In diesem Beispiel sind die statischen Methoden info, warning und error Hilfsfunktionen, die global aufgerufen werden können, um Nachrichten auf verschiedenen Ebenen zu protokollieren. Es ist keine Instanz von Logger erforderlich, um diese Methoden zu verwenden.

1. Was ist eine statische Methode?

2. Wie definiert man eine statische Methode in einer Klasse?

Was ist eine statische Methode?

Was ist eine statische Methode?

Wählen Sie die richtige Antwort aus

Wie definiert man eine statische Methode in einer Klasse?

Wie definiert man eine statische Methode in einer Klasse?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 12
We're sorry to hear that something went wrong. What happened?
some-alt