Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Verwendung Statischer Methoden in JavaScript | JavaScript-Klassen und Vererbung Meistern
Fortgeschrittene JavaScript-Beherrschung

bookVerwendung Statischer Methoden in JavaScript

Statische Methoden bieten gemeinsame Funktionalität auf Klassenebene und sind ohne Instanziierung zugänglich.

Was sind statische Methoden?

Man kann sich ein Versorgungsunternehmen vorstellen, das Strom liefert. Das Unternehmen selbst (Klasse) stellt die Energie bereit, aber Sie (eine Instanz) müssen kein eigenes Kraftwerk zu Hause bauen. Stattdessen greifen Sie direkt auf den Service des Unternehmens (statische Methode) zu.

Definition und Verwendung von statischen Methoden

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

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, das heißt, sie gehören zur Klasse MathUtils und können direkt an der Klasse selbst aufgerufen werden. Diese Methoden führen mathematische Operationen aus und stehen der gesamten Klasse zur Verfügung, ohne mit einer bestimmten Instanz verknüpft zu sein.

Warum statische Methoden verwenden?

Statische Methoden sind nützlich, wenn Funktionalität bereitgestellt werden soll, die sich auf die Klasse bezieht, aber nicht an einzelne Instanzen gebunden ist. Sie werden häufig für Hilfsfunktionen, Utility-Methoden oder Logik verwendet, die allgemein für die gesamte Klasse gilt.

  • Statische Methoden werden oft für universelle Operationen eingesetzt, 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 klassenweiten Konfigurationen oder das Bereitstellen von klassenweiten Datenzugriffen.

Beispiel: Statische Utility-Methode

Ein praxisnahes Beispiel ist eine User-Klasse mit einer statischen Methode zum Vergleichen der IDs zweier Benutzer. Diese Methode muss nicht mit den Daten eines einzelnen Benutzers interagieren und kann daher als statische Methode in der Klasse implementiert werden.

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 den Vergleich der IDs von zwei User-Instanzen, ohne Zugriff auf deren individuelle Eigenschaften oder Methoden zu benötigen.

Wichtige Unterschiede zwischen statischen und Instanzmethoden

Praxisbeispiel: Utility-Klasse für Anwendungen

Betrachten wir ein Szenario, in dem eine Anwendung Daten protokollieren muss. Eine Logger-Klasse kann statische Methoden enthalten, um Nachrichten mit unterschiedlichen Stufen (Info, Warnung, Fehler) zu protokollieren. Diese Methoden sind global zugänglich, ohne dass eine Instanz des Loggers erstellt werden muss.

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?

question mark

Was ist eine statische Methode?

Select the correct answer

question mark

Wie definiert man eine statische Methode in einer Klasse?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 12

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Awesome!

Completion rate improved to 2.22

bookVerwendung Statischer Methoden in JavaScript

Swipe um das Menü anzuzeigen

Statische Methoden bieten gemeinsame Funktionalität auf Klassenebene und sind ohne Instanziierung zugänglich.

Was sind statische Methoden?

Man kann sich ein Versorgungsunternehmen vorstellen, das Strom liefert. Das Unternehmen selbst (Klasse) stellt die Energie bereit, aber Sie (eine Instanz) müssen kein eigenes Kraftwerk zu Hause bauen. Stattdessen greifen Sie direkt auf den Service des Unternehmens (statische Methode) zu.

Definition und Verwendung von statischen Methoden

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

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, das heißt, sie gehören zur Klasse MathUtils und können direkt an der Klasse selbst aufgerufen werden. Diese Methoden führen mathematische Operationen aus und stehen der gesamten Klasse zur Verfügung, ohne mit einer bestimmten Instanz verknüpft zu sein.

Warum statische Methoden verwenden?

Statische Methoden sind nützlich, wenn Funktionalität bereitgestellt werden soll, die sich auf die Klasse bezieht, aber nicht an einzelne Instanzen gebunden ist. Sie werden häufig für Hilfsfunktionen, Utility-Methoden oder Logik verwendet, die allgemein für die gesamte Klasse gilt.

  • Statische Methoden werden oft für universelle Operationen eingesetzt, 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 klassenweiten Konfigurationen oder das Bereitstellen von klassenweiten Datenzugriffen.

Beispiel: Statische Utility-Methode

Ein praxisnahes Beispiel ist eine User-Klasse mit einer statischen Methode zum Vergleichen der IDs zweier Benutzer. Diese Methode muss nicht mit den Daten eines einzelnen Benutzers interagieren und kann daher als statische Methode in der Klasse implementiert werden.

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 den Vergleich der IDs von zwei User-Instanzen, ohne Zugriff auf deren individuelle Eigenschaften oder Methoden zu benötigen.

Wichtige Unterschiede zwischen statischen und Instanzmethoden

Praxisbeispiel: Utility-Klasse für Anwendungen

Betrachten wir ein Szenario, in dem eine Anwendung Daten protokollieren muss. Eine Logger-Klasse kann statische Methoden enthalten, um Nachrichten mit unterschiedlichen Stufen (Info, Warnung, Fehler) zu protokollieren. Diese Methoden sind global zugänglich, ohne dass eine Instanz des Loggers erstellt werden muss.

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?

question mark

Was ist eine statische Methode?

Select the correct answer

question mark

Wie definiert man eine statische Methode in einer Klasse?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 12
some-alt