Start · Sprachen · JavaScript · Referenz · console.countReset()

console.countReset()

Methode

Setzt den Zähler, den <code>console.count()</code> für ein bestimmtes Label führt, auf 0 zurück.

seit JavaScript Baseline: alle modernen Browser, Node.js 10+ Kategorie: webapi

Signatur

console.countReset(label)

Beschreibung

console.countReset() ist eine statische Methode des console-Objekts. Sie setzt den internen Zähler auf 0 zurück, den console.count() für ein bestimmtes Label hochzählt. Rufst du danach console.count() mit demselben Label auf, beginnt die Zählung wieder bei 1.

Gebraucht wird das vor allem beim Debuggen: Du willst zum Beispiel wissen, wie oft eine Funktion pro Durchlauf, pro Anfrage oder pro Render-Zyklus aufgerufen wird. Vor jedem neuen Durchlauf setzt du den Zähler mit countReset() zurück. So erkennst du etwa überflüssige Neuberechnungen oder doppelt registrierte Ereignis-Handler.

Ohne Argument wird das Label "default" verwendet, also derselbe Zähler, den auch ein console.count() ohne Argument nutzt. Jedes Label hat seinen eigenen Zähler. Ein Zurücksetzen betrifft nur das angegebene Label.

Parameter

Name Typ Default Beschreibung
$label string "default" Name des Zählers, der zurückgesetzt werden soll. Andere Werte als Zeichenketten werden in eine Zeichenkette umgewandelt.

Rückgabewert

Typ
void
Beschreibung
Kein Rückgabewert (undefined).

Beispiele

Standard-Zähler zurücksetzen

console.count();
console.count();
console.countReset();
console.count();
default: 1 default: 2 default: 1

Benannte Zähler getrennt zurücksetzen

const klick = (button) => console.count(button);

klick('speichern');
klick('speichern');
klick('abbrechen');

// Nur den Zähler für 'speichern' zurücksetzen
console.countReset('speichern');

klick('speichern');
klick('abbrechen');
speichern: 1 speichern: 2 abbrechen: 1 speichern: 1 abbrechen: 2

Aufrufe pro Render-Zyklus zählen

const berechneLayout = () => {
  console.count('berechneLayout');
  // ... aufwendige Berechnung
};

const render = (elemente) => {
  console.countReset('berechneLayout'); // neuer Zyklus, Zähler auf 0
  elemente.forEach(() => berechneLayout());
};

render([1, 2]);
render([1, 2, 3]);
berechneLayout: 1 berechneLayout: 2 berechneLayout: 1 berechneLayout: 2 berechneLayout: 3

// Wichtig · Fallstricke

  • Nicht vorhandenes Label: Wird ein Label zurückgesetzt, das nie gezählt wurde, geben Browser und Node.js eine Warnung aus, z. B. Count for 'xyz' does not exist. Ein Fehler wird aber nicht ausgelöst.
  • Umwandlung in Zeichenketten: Labels werden in Zeichenketten umgewandelt. Deshalb teilen sich console.countReset(1) und console.countReset('1') denselben Zähler. Objekte landen alle beim Label "[object Object]".
  • Getrennte Zähler je Umgebung: Die Zähler gelten nur für die jeweilige Umgebung. Worker, iframes und Node.js-Prozesse haben eigene Zähler.
  • Nur zum Debuggen: Die Ausgabe landet ausschließlich in der Konsole. Den aktuellen Zählerstand kannst du nicht programmatisch auslesen. Für echte Messwerte im Produktivbetrieb nimm eine eigene Variable oder eine Map.
  • Kompatibilität: Wird von Chrome, Edge, Firefox und Safari sowie von Node.js ab Version 10 unterstützt.