Signatur
Beschreibung
console.groupEnd() ist das Gegenstück zu console.group() und console.groupCollapsed(). Jeder Aufruf schließt die zuletzt geöffnete Gruppe. Alle danach folgenden Konsolenausgaben werden wieder auf der übergeordneten Ebene angezeigt.
Gruppen lassen sich beliebig tief verschachteln. Das ist praktisch, um Protokollausgaben zu strukturieren, etwa pro Funktionsaufruf, pro HTTP-Anfrage oder pro Durchlauf einer Schleife. In den Browser-Entwicklertools kann man Gruppen auf- und zuklappen. Node.js rückt die Ausgabe dagegen nur ein (standardmäßig um 2 Leerzeichen pro Ebene).
Die Methode nimmt laut Spezifikation keine Argumente entgegen und gibt undefined zurück. Ist gerade keine Gruppe offen, passiert nichts.
Rückgabewert
Beispiele
Einfache Gruppe öffnen und schließen
console.log('Vor der Gruppe');
console.group('Benutzerdaten');
console.log('Name: Anna');
console.log('Rolle: Admin');
console.groupEnd();
console.log('Nach der Gruppe');
Verschachtelte Gruppen
console.group('Bestellung #42');
console.log('Kunde: Max');
console.group('Positionen');
console.log('2x Kaffee');
console.log('1x Kuchen');
console.groupEnd(); // schließt 'Positionen'
console.log('Summe: 9,50 €');
console.groupEnd(); // schließt 'Bestellung #42'
Gruppe per try/finally zuverlässig schließen
const ladeDaten = async (url) => {
console.groupCollapsed(`Fetch ${url}`);
try {
const res = await fetch(url);
console.log('Status:', res.status);
return await res.json();
} catch (err) {
console.error('Fehler:', err.message);
} finally {
console.groupEnd(); // wird auch bei Fehlern ausgeführt
}
};
ladeDaten('https://jsonplaceholder.typicode.com/todos/1');
// Wichtig · Fallstricke
- Aufrufe paarweise setzen: Jedes
group()/groupCollapsed()braucht genau eingroupEnd(). Fehlt es, etwa weil vorher eine Ausnahme geworfen wurde, landen alle weiteren Ausgaben in der falschen Ebene. Schließe die Gruppe deshalb in einemfinally-Block. - Asynchroner Code: Gruppen gelten global für die ganze Konsole und nicht pro Aufruf. Laufen mehrere asynchrone Vorgänge parallel, können sich ihre Ausgaben in fremden Gruppen vermischen.
- Überzählige
groupEnd()-Aufrufe sind unschädlich und werden stillschweigend ignoriert. - Argumente, die man an
groupEnd()übergibt, werden ignoriert. Sie erzeugen keine Ausgabe. - Node.js unterstützt die Methode seit Version 8.5 und rückt nur ein. Auf- und Zuklappen gibt es dort nicht. Alle modernen Browser unterstützen sie vollständig.