console: Statische Methode context()
Nicht standardisiert: Diese Funktion ist nicht standardisiert. Wir raten davon ab, nicht-standardisierte Funktionen auf produktiven Webseiten zu verwenden, da sie nur von bestimmten Browsern unterstützt werden und sich in Zukunft ändern oder entfernt werden können. Unter Umständen kann sie jedoch eine geeignete Option sein, wenn es keine standardisierte Alternative gibt.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die statische Methode console.context() erstellt einen neuen Konsolenkontext: ein Objekt mit weitgehend denselben Methoden wie das console-Objekt, dessen Meldungen einem optionalen Label zugeordnet sind. So können Sie Meldungen aus verschiedenen Teilen Ihres Codes gruppieren und filtern.
Syntax
console.context()
console.context(label)
Parameter
labelOptional-
Eine Zeichenfolge, mit der der Kontext benannt wird. Meldungen, die über das zurückgegebene Objekt ausgegeben werden, sind diesem Namen zugeordnet. Der Standardwert ist
"anonymous".
Rückgabewert
Ein neues Objekt, das die meisten Methoden des console-Objekts besitzt, darunter log(), warn(), count() und time(). Es besitzt selbst keine context()-Methode.
Beschreibung
Jeder Aufruf von console.context() gibt einen neuen, unabhängigen Konsolenkontext zurück. Meldungen, die über einen Kontext ausgegeben werden, tragen dessen Label. Entwicklertools können damit erkennen, woher eine Meldung stammt. In den Chrome DevTools können Sie beispielsweise context:myLogger in das Filterfeld eingeben, um nur Meldungen anzuzeigen, die über einen Kontext mit dem Label myLogger ausgegeben wurden.
Jeder Kontext verwaltet seine Zähler und Timer unabhängig. Das bedeutet, dass Labels für count() und time(), die in einem Kontext verwendet werden, gleichnamige Labels im globalen console-Objekt oder in einem anderen Kontext nicht beeinflussen. Ein Aufruf von clear() auf einem Kontext leert dennoch die gesamte Konsole.
Wie die Methoden von console verwenden auch die Methoden eines Konsolenkontexts den Wert von this nicht. Sie können sie daher als ungebundene Funktionen weitergeben.
Beispiele
>Einen benannten Logger erstellen
const logger = console.context("myLogger");
logger.log("Hello");
logger.info("World");
Beide Meldungen erscheinen in der Konsole wie Meldungen, die mit console.log() und console.info() ausgegeben wurden. Wenn Sie in den Chrome DevTools context:myLogger in das Filterfeld der Konsole eingeben, werden nur diese beiden Meldungen angezeigt.
Zähler sind für jeden Kontext getrennt
const a = console.context("A");
const b = console.context("B");
console.count("hits"); // hits: 1
a.count("hits"); // hits: 1
a.count("hits"); // hits: 2
b.count("hits"); // hits: 1
console.count("hits"); // hits: 2
Browser-Kompatibilität
Siehe auch
console.count()console.time()- Vorschlag zur Spezifikation von
console.context()im Console Standard