Referência da API Console Utilitários

Kayce Basques
Kayce Basques
Sofia Emelianova
Sofia Emelianova

A API Console Utilitários contém uma coleção de funções convenientes para a execução de tarefas comuns: selecionar e inspecionar elementos DOM, consultar objetos, exibir dados em formato legível, interromper e iniciar o criador de perfil, monitorar eventos DOM e chamadas de função e muito mais.

Procurando as funções console.log(), console.error() e o restante das funções console.*? Consulte Referência da API Console.

$_

$_ retorna o valor da expressão avaliada mais recentemente.

No exemplo a seguir, uma expressão simples (2 + 2) é avaliada. Então, é avaliada a propriedade $_, que contém o mesmo valor:

$_ é a expressão avaliada mais recentemente.

No próximo exemplo, a expressão avaliada inicialmente contém uma matriz de nomes. Avaliando $_.length para encontrar o comprimento da matriz, o valor armazenado em $_ muda para se tornar a expressão avaliada mais recentemente, 4:

$_ muda quando novos comandos são avaliados.

US$ 0 a US$ 4

Os comandos $0, $1, $2, $3 e $4 funcionam como uma referência histórica para os últimos cinco elementos do DOM inspecionados no painel Elementos ou para os últimos cinco objetos de heap JavaScript selecionados no painel Perfis. $0 retorna o elemento ou objeto JavaScript selecionado mais recentemente, $1 retorna o segundo item selecionado mais recentemente e assim por diante.

No exemplo abaixo, um elemento img é selecionado no painel Elementos. Na gaveta Console, $0 foi avaliado e mostra o mesmo elemento:

Exemplo de $0.

A imagem abaixo mostra um elemento diferente selecionado na mesma página. O $0 agora se refere ao elemento recém-selecionado, enquanto $1 retorna o que foi selecionado anteriormente:

Exemplo de $1.

$(seletor [, startNode])

$(selector) retorna a referência ao primeiro elemento DOM com o seletor de CSS especificado. Quando chamada com um argumento, essa função é um atalho para a função document.querySelector().

O exemplo a seguir retorna uma referência ao primeiro elemento <img> no documento:

Exemplo de $(&#39;img&#39;).

Clique com o botão direito do mouse no resultado retornado e selecione Reveal in Elements Panel para encontrá-lo no DOM ou Role in to View para mostrá-lo na página.

O exemplo abaixo retorna uma referência ao elemento selecionado e mostra a propriedade src:

Exemplo de $(&#39;img&#39;).src.

Essa função também aceita um segundo parâmetro, startNode, que especifica um "elemento" ou nó em que a pesquisa de elementos será feita. O valor padrão desse parâmetro é document.

O exemplo abaixo retorna uma referência ao primeiro elemento img que é descendente de devsite-header-background e exibe a propriedade src:

Exemplo de $(&#39;img&#39;, div).src.

$$(selector [, startNode])

$$(seletor) retorna uma matriz de elementos que correspondem ao seletor de CSS especificado. Esse comando é equivalente a chamar Array.from(document.querySelectorAll()).

O exemplo a seguir usa $$() 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);
}
.

Exemplo de uso de<span class=l10n-placeholder3() para criar uma matriz de todos os elementos <img> que aparecem no documento atual após o nó selecionado:

let images = $$('img', document.querySelector('.devsite-header-background'));
for (let each of images) {
  console.log(each.src);
}

Exemplo de como usar $() para selecionar todas as imagens que aparecem após o elemento div selecionado no documento e exibir suas origens.

$x(caminho [, startNode])

$x(path) retorna uma matriz de elementos DOM que corresponde à expressão XPath especificada.

O exemplo a seguir retorna todos os elementos <p> na página:

$x("//p")

Exemplo de uso de um seletor XPath.

O exemplo a seguir retorna todos os elementos <p> que contêm elementos <a>:

$x("//p[a]")

Exemplo de uso de um seletor XPath mais complicado.

Assim como as outras funções de seletor, $x(path) tem um segundo parâmetro opcional, startNode, que especifica um elemento ou nó em que pesquisar elementos.

Exemplo de uso de um seletor XPath com startNode.

clear()

clear() limpa o console do histórico.

clear();

cópia(objeto)

copy(object) copia uma representação de string do objeto especificado para a área de transferência.

copy($0);

debug(função)

Quando a função especificada é chamada, o depurador é invocado e interrompe dentro da função no painel Sources, permitindo percorrer o código e depurá-lo.

debug(getData);

Interrupção dentro de uma função com debug().

Use undebug(fn) para interromper a interrupção na função ou use a interface para desativar todos os pontos de interrupção.

Para saber mais sobre pontos de interrupção, consulte Pausar seu código com pontos de interrupção.

dir(object)

dir(object) mostra uma lista em estilo de objeto com todas as propriedades do objeto especificado. Esse método é um atalho para o método console.dir() da API do Console.

O exemplo a seguir mostra a diferença entre avaliar document.body diretamente na linha de comando e usar dir() para exibir o mesmo elemento:

document.body;
dir(document.body);

Registrando document.body com e sem a função dir().

Para mais informações, consulte a entrada console.dir() na API Console.

dirxml(objeto)

dirxml(object) imprime uma representação XML do objeto especificado, como mostrado no painel Elements. Esse método é equivalente ao método console.dirxml().

inspect(object/function)

O inspect(object/function) abre e seleciona o elemento ou objeto especificado no painel adequado: o painel Elementos para elementos DOM ou o painel Perfis para objetos de heap JavaScript.

O exemplo a seguir abre o document.body no painel Elementos:

inspect(document.body);

Inspecionando um elemento com inspect().

Ao transmitir uma função para inspeção, ela abre o documento no painel Sources para que você inspecione.

getEventListeners(object)

getEventListeners(object) retorna os listeners de eventos registrados no objeto especificado. O valor de retorno é um objeto que contém uma matriz para cada tipo de evento registrado, por exemplo, click ou keydown. Os membros de cada matriz são objetos que descrevem o listener registrado para cada tipo. Por exemplo, o código a seguir lista todos os listeners de eventos registrados no objeto document:

getEventListeners(document);

Saída do uso de getEventListeners().

Se mais de um listener estiver registrado no objeto especificado, a matriz conterá um membro para cada listener. No exemplo abaixo, há dois listeners de eventos registrados no elemento do documento para o evento click:

Vários listeners.

Você pode expandir ainda mais cada um desses objetos para explorar suas propriedades:

Visualização expandida do objeto do listener.

Para mais informações, consulte Inspecionar propriedades do objeto.

chaves(objeto)

keys(object) retorna uma matriz contendo os nomes das propriedades que pertencem ao objeto especificado. Para acessar os valores associados das mesmas propriedades, use values().

Por exemplo, suponha que seu aplicativo definiu o seguinte objeto:

let player = {
    "name": "Parzival",
    "number": 1,
    "state": "ready",
    "easterEggs": 3
};

Supondo que player tenha sido definido no namespace global (para simplificar), digitar keys(player) e values(player) no Console resulta neste resultado:

Exemplo dos métodos keys() e values().

monitor(function)

Quando a função especificada é chamada, uma mensagem é registrada no console. Ela indica o nome da função junto com os argumentos que foram passados para a função quando ela foi chamada.

function sum(x, y) {
  return x + y;
}
monitor(sum);

Exemplo do método monitor().

Use unmonitor(function) para interromper o monitoramento.

monitorEvents(object [, events])

Quando um dos eventos especificados ocorre no objeto especificado, o objeto Event é registrado no console. É possível especificar um único evento a ser monitorado, uma matriz de eventos ou um dos "tipos" de eventos genéricos mapeados para um conjunto predefinido de eventos. Confira os exemplos abaixo.

O seguinte monitora todos os eventos redimensionados no objeto da janela.

monitorEvents(window, "resize");

Eventos de redimensionamento da janela de monitoramento.

O seguinte define uma matriz para monitorar os eventos "resize" e "scroll" no objeto de janela:

monitorEvents(window, ["resize", "scroll"])

Você também pode especificar um dos "tipos" de eventos disponíveis, strings que são mapeadas para conjuntos predefinidos de eventos. A tabela abaixo lista os tipos de evento disponíveis e os mapeamentos de eventos associados:

Tipo de evento e eventos mapeados correspondentes
rato"mousedown", "mouseup", "click", "dblclick", "mousemove", "mouseover", "mouseout", "mousewheel"
chave"keydown", "keyup", "keypress", "textInput"
toque"touchstart", "touchmove", "touchend", "touchcancel"
controle"resize", "scroll", "zoom", "focus", "blur", "select", "change", "submit", "reset"

Por exemplo, o comando a seguir usa o tipo de evento "chave" para todos os eventos principais correspondentes em um campo de texto de entrada atualmente selecionado no painel Elementos.

monitorEvents($0, "key");

Confira abaixo um exemplo de saída após a digitação de caracteres no campo de texto:

Monitorar eventos principais.

Use unmonitorEvents(object[, events]) para interromper o monitoramento.

perfil([nome]) e perfilEnd([nome])

profile() inicia uma sessão de criação de perfil da CPU JavaScript com um nome opcional. profileEnd() completa o perfil e exibe os resultados na faixa Performance > Main.

Para iniciar a criação de perfil:

profile("Profile 1")

Para interromper a criação de perfil e conferir os resultados na faixa Performance > Main:

profileEnd("Profile 1")

Resultado na faixa Desempenho > Principal:

Faixa principal." largura="800" height="606">

Os perfis também podem ser aninhados. Por exemplo, isso funcionará em qualquer ordem:

profile('A');
profile('B');
profileEnd('A');
profileEnd('B');

queryObjects(Constructor)

Chame queryObjects(Constructor) no console para retornar uma matriz de objetos criados com o construtor especificado. Exemplo:

  • queryObjects(Promise). Retorna todas as instâncias de Promise.
  • queryObjects(HTMLElement). Retorna todos os elementos HTML.
  • queryObjects(foo), em que foo é um nome de classe. Retorna todos os objetos que foram instanciados via new foo().

O escopo de queryObjects() é o contexto de execução selecionado no console.

tabela(dados [, colunas])

Registre os dados do objeto com formatação de tabela transmitindo um objeto de dados com cabeçalhos de coluna opcionais. Este é um atalho para console.table().

Por exemplo, para exibir uma lista de nomes usando uma tabela no console, faça o seguinte:

let names = [
  { firstName: "John", lastName: "Smith" },
  { firstName: "Jane", lastName: "Doe" },
];
table(names);

Exemplo do método table().

undebug(função)

undebug(function) interrompe a depuração da função especificada. Assim, quando a função for chamada, o depurador não será mais invocado. É usado com debug(fn).

undebug(getData);

unmonitor(função)

unmonitor(function) interrompe o monitoramento da função especificada. É usado em conjunto com monitor(fn).

unmonitor(getData);

unmonitorEvents(object [, events])

unmonitorEvents(object[, events]) interrompe o monitoramento de eventos para o objeto e os eventos especificados. O exemplo a seguir interrompe todo o monitoramento de eventos no objeto "window":

unmonitorEvents(window);

Também é possível interromper seletivamente o monitoramento de eventos específicos em um objeto. Por exemplo, o código a seguir começa a monitorar todos os eventos de mouse no elemento selecionado e, em seguida, para de monitorar eventos "mousemove" (talvez para reduzir o ruído na saída do console):

monitorEvents($0, "mouse");
unmonitorEvents($0, "mousemove");

valores(objeto)

values(object) retorna uma matriz que contém os valores de todas as propriedades pertencentes ao objeto especificado.

let player = {
    "name": "Parzival",
    "number": 1,
    "state": "ready",
    "easterEggs": 3
};

values(player);

Resultado de valores(player).