Signatur
Beschreibung
console.clear() entfernt alle bisherigen Ausgaben aus der Konsole. Das hilft bei länger laufenden Anwendungen, Dashboards im Terminal oder beim Debuggen wiederkehrender Abläufe, etwa bei jedem Hot-Reload oder vor jedem neuen Testlauf. Danach steht nur noch die aktuelle Ausgabe in der Konsole.
Die Methode nimmt keine Argumente und gibt undefined zurück. Was genau passiert, hängt von der Umgebung ab: In den Entwicklerwerkzeugen der Browser wird die Konsole geleert, oft erscheint dazu ein Hinweis wie „Konsole wurde geleert“. In Node.js wird die Ausgabe nur dann gelöscht, wenn stdout ein TTY ist, also ein echtes Terminal. Wird die Ausgabe in eine Datei oder Pipe umgeleitet, passiert nichts.
Zusätzlich setzt console.clear() laut Spezifikation die Gruppierungstiefe zurück, die console.group() aufgebaut hat. Zähler von console.count() und Timer von console.time() bleiben dagegen erhalten.
Rückgabewert
Beispiele
Konsole vor einer neuen Debug-Ausgabe leeren
console.log('Alte Meldung');
console.clear();
console.log('Neuer Durchlauf gestartet');
Live-Statusanzeige im Terminal (Node.js)
let tick = 0;
const timer = setInterval(() => {
console.clear();
tick += 1;
console.log(`Status-Update #${tick} – ${new Date().toLocaleTimeString('de-DE')}`);
console.table({ speicherMB: Math.round(process.memoryUsage().rss / 1e6) });
if (tick === 5) clearInterval(timer);
}, 1000);
Nur im Entwicklungsmodus leeren
const isDev = location.hostname === 'localhost';
const render = (state) => {
if (isDev) console.clear();
console.group('Render');
console.log('Zustand:', state);
console.groupEnd();
};
render({ user: 'Anna', items: 3 });
// Wichtig · Fallstricke
- Die Einstellung „Log beibehalten“ gewinnt: Ist in Chrome oder Edge „Preserve log“ aktiviert oder in Firefox „Logs beibehalten“, bleibt
console.clear()wirkungslos. Die Konsole meldet dann meist, dass der Aufruf verhindert wurde. - Node.js: Die Ausgabe wird nur gelöscht, wenn
process.stdout.isTTYwahr ist. In CI-Logs oder bei umgeleiteter Ausgabe (node app.js > log.txt) passiert nichts. - Nicht im Produktivcode verwenden: Wer in ausgeliefertem Code die Konsole leert, löscht womöglich wichtige Fehlermeldungen, auch die von Drittanbieter-Skripten. Anderen Entwicklern erschwert das die Fehlersuche.
- Zähler von
console.count()und laufende Timer vonconsole.time()werden nicht zurückgesetzt. Dafür gibt esconsole.countReset()undconsole.timeEnd(). - Die Methode wird überall unterstützt, in allen modernen Browsern und in Web Workern.