Signatur
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
undefined).Beispiele
Standard-Zähler zurücksetzen
console.count();
console.count();
console.countReset();
console.count();
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');
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]);
// 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)undconsole.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.