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

console.groupEnd()

Methode

Beendet die aktuell geöffnete Inline-Gruppe in der Konsole, sodass nachfolgende Ausgaben wieder eine Ebene weniger eingerückt erscheinen.

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

Signatur

console.groupEnd()

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

Typ
undefined
Beschreibung
Kein 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');
Vor der Gruppe Benutzerdaten Name: Anna Rolle: Admin 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'
Bestellung #42 Kunde: Max Positionen 2x Kaffee 1x Kuchen Summe: 9,50 €

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');
▸ Fetch https://jsonplaceholder.typicode.com/todos/1 Status: 200

// Wichtig · Fallstricke

  • Aufrufe paarweise setzen: Jedes group()/groupCollapsed() braucht genau ein groupEnd(). Fehlt es, etwa weil vorher eine Ausnahme geworfen wurde, landen alle weiteren Ausgaben in der falschen Ebene. Schließe die Gruppe deshalb in einem finally-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.