L'API Console Utilities contiene una raccolta di funzioni pratiche per eseguire attività comuni: selezionare e ispezionare elementi DOM, eseguire query sugli oggetti, visualizzare i dati in formato leggibile, arrestare e avviare il profiler, monitorare gli eventi DOM e le chiamate di funzioni e altro ancora.
Stai cercando console.log(), console.error() e il resto delle funzioni di console.*? Consulta il
riferimento API della console.
$_
$_ restituisce il valore dell'espressione valutata più di recente.
Nell'esempio seguente viene valutata un'espressione semplice (2 + 2). Viene quindi valutata la proprietà $_, che contiene lo stesso valore:

Nell'esempio successivo, l'espressione valutata inizialmente contiene un array di nomi. Valutando
$_.length per trovare la lunghezza dell'array, il valore memorizzato in $_ cambia e diventa l'ultima
espressione valutata, 4:

0 $ - 4 $
I comandi $0, $1, $2, $3 e $4 funzionano come riferimento storico agli ultimi cinque elementi DOM ispezionati nel riquadro Elementi o agli ultimi cinque oggetti heap JavaScript selezionati nel riquadro Profili. $0 restituisce l'elemento o l'oggetto JavaScript selezionato più di recente, $1
restituisce il secondo più recente e così via.
Nell'esempio seguente, un elemento img è selezionato nel riquadro Elementi. Nel riquadro Console,
$0 è stato valutato e mostra lo stesso elemento:

L'immagine seguente mostra un elemento diverso selezionato nella stessa pagina. $0 ora si riferisce all'elemento
appena selezionato, mentre $1 restituisce quello selezionato in precedenza:

$(selector [, startNode])
$(selector) restituisce il riferimento al primo elemento DOM con il selettore CSS specificato. Se
chiamata con un argomento, questa funzione è una scorciatoia per la funzione document.querySelector().
L'esempio seguente restituisce un riferimento al primo elemento <img> nel documento:

Fai clic con il tasto destro del mouse sul risultato restituito e seleziona Mostra nel riquadro Elementi per trovarlo nel DOM oppure Scorri per visualizzare per mostrarlo nella pagina.
L'esempio seguente restituisce un riferimento all'elemento attualmente selezionato e mostra la relativa proprietà src:

Questa funzione supporta anche un secondo parametro, startNode, che specifica un "elemento" o un nodo da cui cercare gli elementi. Il valore predefinito di questo parametro è document.
L'esempio seguente restituisce un riferimento al primo elemento img discendente di devsite-header-background e
mostra la relativa proprietà src:

$$(selector [, startNode])
L'esempio riportato di seguito utilizza $$(selector) restituisce un array di elementi che corrispondono al selettore CSS specificato. Questo comando
equivale a chiamare Array.from(document.querySelectorAll()).
$$() to create an array of all <img> elements in the current document
and displays the value of each element's src property:let images = $$('img');
for (let each of images) {
console.log(each.src);
}
Elementi
<img>
che vengono visualizzati nel documento corrente dopo il nodo selezionato:
let images = $$('img', document.querySelector('.devsite-header-background'));
for (let each of images) {
console.log(each.src);
}

$x(path [, startNode])
$x(path) restituisce un array di elementi DOM che corrispondono all'espressione XPath specificata.
Ad esempio, il seguente codice restituisce tutti gli elementi <p> della pagina:
$x("//p")

L'esempio seguente restituisce tutti gli elementi <p> che contengono elementi <a>:
$x("//p[a]")

Analogamente alle altre funzioni di selezione, $x(path) ha un secondo parametro facoltativo, startNode,
che specifica un elemento o un nodo da cui cercare gli elementi.

clear()
clear() cancella la cronologia della console.
clear();
copy(object)
copy(object) copia una rappresentazione della stringa dell'oggetto specificato negli appunti.
copy($0);
debug(function)
Quando viene chiamata la funzione specificata, viene richiamato il debugger e l'esecuzione si interrompe all'interno della funzione nel riquadro Origini, consentendo di eseguire il codice passo passo ed eseguirne il debug.
debug(getData);

Utilizza undebug(fn) per interrompere l'interruzione della funzione oppure utilizza l'interfaccia utente per disattivare tutti i punti di interruzione.
Per ulteriori informazioni sui punti di interruzione, vedi Mettere in pausa il codice con i punti di interruzione.
dir(object)
dir(object) mostra un elenco in stile oggetto di tutte le proprietà dell'oggetto specificato. Questo metodo
è una scorciatoia per il metodo console.dir() dell'API Console.
L'esempio seguente mostra la differenza tra la valutazione di document.body direttamente nella
riga di comando e l'utilizzo di dir() per visualizzare lo stesso elemento:
document.body;
dir(document.body);

Per saperne di più, consulta la voce console.dir() nell'API Console.
dirxml(object)
dirxml(object) stampa una rappresentazione XML dell'oggetto specificato, come mostrato nel riquadro Elementi.
Questo metodo è equivalente al metodo console.dirxml().
inspect(object/function)
inspect(object/function) apre e seleziona l'elemento o l'oggetto specificato nel riquadro appropriato: il riquadro Elementi per gli elementi DOM o il riquadro Profili per gli oggetti heap JavaScript.
L'esempio seguente apre document.body nel riquadro Elementi:
inspect(document.body);

Quando passi una funzione da esaminare, il documento si apre nel riquadro Origini per consentirti di esaminarlo.
getEventListeners(object)
getEventListeners(object) restituisce i listener di eventi registrati sull'oggetto specificato. Il
valore restituito è un oggetto che contiene un array per ogni tipo di evento registrato (ad esempio click o
keydown). I membri di ogni array sono oggetti che descrivono il listener registrato
per ogni tipo. Ad esempio, il seguente elenco mostra tutti i listener di eventi registrati nell'oggetto
documento:
getEventListeners(document);

Se nell'oggetto specificato è registrato più di un listener, l'array contiene un membro
per ogni listener. Nell'esempio seguente, sono registrati due listener di eventi
sull'elemento del documento per l'evento click:

Puoi espandere ulteriormente ciascuno di questi oggetti per esplorarne le proprietà:

Per maggiori informazioni, consulta Esaminare le proprietà degli oggetti.
keys(object)
keys(object) restituisce un array contenente i nomi delle proprietà appartenenti all'oggetto specificato. Per ottenere i valori associati delle stesse proprietà, utilizza values().
Ad esempio, supponiamo che la tua applicazione abbia definito il seguente oggetto:
let player = {
"name": "Parzival",
"number": 1,
"state": "ready",
"easterEggs": 3
};
Supponendo che player sia stato definito nello spazio dei nomi globale (per semplicità), digitando keys(player) e
values(player) nella console si ottiene quanto segue:

monitor(function)
Quando viene chiamata la funzione specificata, nella console viene registrato un messaggio che indica il nome della funzione insieme agli argomenti passati alla funzione quando è stata chiamata.
function sum(x, y) {
return x + y;
}
monitor(sum);

Utilizza unmonitor(function) per interrompere il monitoraggio.
monitorEvents(object [, events])
Quando si verifica uno degli eventi specificati sull'oggetto specificato, l'oggetto Event viene registrato nella console. Puoi specificare un singolo evento da monitorare, un array di eventi o uno dei tipi di eventi generici mappati a una raccolta predefinita di eventi. Vedi gli esempi qui sotto.
Il seguente codice monitora tutti gli eventi di ridimensionamento dell'oggetto finestra.
monitorEvents(window, "resize");

Di seguito viene definito un array per monitorare gli eventi "resize" e "scroll" sull'oggetto finestra:
monitorEvents(window, ["resize", "scroll"])
Puoi anche specificare uno dei "tipi" di eventi disponibili, stringhe che vengono mappate a insiemi predefiniti di eventi. La tabella seguente elenca i tipi di eventi disponibili e i relativi mapping degli eventi:
| Tipo di evento ed eventi mappati corrispondenti | |
|---|---|
| topo | "mousedown", "mouseup", "click", "dblclick", "mousemove", "mouseover", "mouseout", "mousewheel" |
| chiave | "keydown", "keyup", "keypress", "textInput" |
| touch | "touchstart", "touchmove", "touchend", "touchcancel" |
| controllo | "ridimensiona", "scorri", "ingrandisci", "metti a fuoco", "sfoca", "seleziona", "modifica", "invia", "reimposta" |
Ad esempio, il seguente utilizza il tipo di evento "key" per tutti gli eventi chiave corrispondenti in un campo di testo di input attualmente selezionato nel riquadro Elementi.
monitorEvents($0, "key");
Di seguito è riportato un output di esempio dopo aver digitato alcuni caratteri nel campo di testo:

Utilizza unmonitorEvents(object[, events]) per interrompere il monitoraggio.
profile([name]) e profileEnd([name])
profile() avvia una sessione di profilazione della CPU JavaScript con un nome facoltativo. profileEnd()
completa il profilo e mostra i risultati nella traccia Rendimento > Principale.
Per avviare la profilazione:
profile("Profile 1")
Per interrompere la profilazione e visualizzare i risultati nella traccia Rendimento > Principale:
profileEnd("Profile 1")
Risultato nella traccia Rendimento > Principale:

Anche i profili possono essere nidificati. Ad esempio, questo funzionerà in qualsiasi ordine:
profile('A');
profile('B');
profileEnd('A');
profileEnd('B');
queryObjects(Constructor)
Chiama queryObjects(Constructor) dalla console per restituire un array di oggetti creati
con il costruttore specificato. Ad esempio:
queryObjects(Promise). Restituisce tutte le istanze diPromise.queryObjects(HTMLElement). Restituisce tutti gli elementi HTML.queryObjects(foo), dovefooè il nome di una classe. Restituisce tutti gli oggetti di cui è stata creata un'istanza tramitenew foo().
L'ambito di queryObjects() è il contesto di esecuzione attualmente selezionato nella console.
table(data [, columns])
Registra i dati degli oggetti con la formattazione della tabella passando un oggetto dati con intestazioni di colonna facoltative.
Questa è una scorciatoia per console.table().
Ad esempio, per visualizzare un elenco di nomi utilizzando una tabella nella console, devi:
let names = [
{ firstName: "John", lastName: "Smith" },
{ firstName: "Jane", lastName: "Doe" },
];
table(names);

undebug(function)
undebug(function) interrompe il debug della funzione specificata in modo che quando la funzione viene
chiamata, il debugger non venga più richiamato. Viene utilizzato in combinazione con debug(fn).
undebug(getData);
unmonitor(function)
unmonitor(function) interrompe il monitoraggio della funzione specificata. Questo viene utilizzato in combinazione con
monitor(fn).
unmonitor(getData);
unmonitorEvents(object [, events])
unmonitorEvents(object[, events]) interrompe il monitoraggio degli eventi per l'oggetto e gli eventi specificati. Ad esempio, il seguente codice interrompe tutto il monitoraggio degli eventi sull'oggetto finestra:
unmonitorEvents(window);
Puoi anche interrompere selettivamente il monitoraggio di eventi specifici su un oggetto. Ad esempio, il seguente codice inizia a monitorare tutti gli eventi del mouse sull'elemento attualmente selezionato, quindi interrompe il monitoraggio degli eventi "mousemove" (forse per ridurre il rumore nell'output della console):
monitorEvents($0, "mouse");
unmonitorEvents($0, "mousemove");
values(object)
values(object) restituisce un array contenente i valori di tutte le proprietà appartenenti all'oggetto specificato.
let player = {
"name": "Parzival",
"number": 1,
"state": "ready",
"easterEggs": 3
};
values(player);
