Menu
Coddy logo textTech

Statische Eigenschaften

Teil des Abschnitts Objektorientierte Programmierung der JavaScript-Journey von Coddy — Lektion 32 von 56.

Statische Eigenschaften gehören zur Klasse selbst, nicht zu Instanzen der Klasse. Sie werden von allen Instanzen gemeinsam genutzt.

Definiere eine Klasse mit einer statischen Eigenschaft:

class Counter {
  // Definiere eine statische Eigenschaft
  static count = 0;
  
  constructor() {
    // Erhöhe den statischen Zähler jedes Mal, wenn eine neue Instanz erstellt wird
    Counter.count++;
  }
}

Greifen Sie über den Klassennamen auf die statische Eigenschaft zu:

console.log(Counter.count); // 0

// Create some instances
const counter1 = new Counter();
const counter2 = new Counter();

console.log(Counter.count); // 2

Statische Eigenschaften sind nützlich für Werte, die über alle Instanzen hinweg geteilt werden sollen, oder für Konstanten auf Klassenebene. Zum Beispiel:

class MathConstants {
  static GOLDEN_RATIO = 1.61803;
}

console.log(MathConstants.PI); // 3.14159
challenge icon

Aufgabe

Füge der Klasse MathConstants die statischen Eigenschaften PI und E hinzu:

  1. Statische Eigenschaft PI gesetzt auf 3.14159
  2. Statische Eigenschaft E gesetzt auf 2.71828

Spickzettel

Statische Eigenschaften gehören zur Klasse selbst, nicht zu den Instanzen. Sie werden von allen Instanzen gemeinsam genutzt und über den Klassennamen aufgerufen.

Definieren Sie eine statische Eigenschaft mit dem Schlüsselwort static:

class Counter {
  static count = 0;
  
  constructor() {
    Counter.count++;
  }
}

Greifen Sie über den Klassennamen auf statische Eigenschaften zu:

console.log(Counter.count); // 0

const counter1 = new Counter();
const counter2 = new Counter();

console.log(Counter.count); // 2

Statische Eigenschaften sind nützlich für Konstanten auf Klassenebene:

class MathConstants {
  static PI = 3.14159;
  static E = 2.71828;
}

console.log(MathConstants.PI); // 3.14159

Probier es selbst

import { MathConstants } from './constants.js';

// Testcode - nicht ändern
console.log(MathConstants.PI);        // Sollte 3.14159 ausgeben
console.log(MathConstants.E);         // Sollte 2.71828 ausgeben
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Objektorientierte Programmierung