Referencia de la API de Console Utilities

Kayce Basques
Kayce Basques
Sofia Emelianova
Sofia Emelianova

La API de Console Utilities contiene una colección de funciones de conveniencia para realizar tareas comunes: seleccionar e inspeccionar elementos DOM, consultar objetos, mostrar datos en formato legible, detener e iniciar el generador de perfiles, supervisar eventos DOM y llamadas a funciones, y mucho más.

¿Buscas console.log(), console.error() y el resto de las funciones console.*? Consulta la referencia de la API de Console .

$_

$_ devuelve el valor de la expresión evaluada más recientemente.

En el siguiente ejemplo, se evalúa una expresión simple (2 + 2). Luego, se evalúa la propiedad $_, que contiene el mismo valor:

$_ es la expresión evaluada más recientemente.

En el siguiente ejemplo, la expresión evaluada inicialmente contiene un array de nombres. Cuando se evalúa $_.length para encontrar la longitud del array, el valor almacenado en $_ cambia para convertirse en la expresión evaluada más reciente, 4:

$_ cambia cuando se evalúan comandos nuevos.

$0 - $4

Los comandos $0, $1, $2, $3 y $4 funcionan como una referencia histórica a los últimos cinco elementos DOM (incluidos los seudoelementos como ::before o ::after) inspeccionados en el panel Elements o los últimos cinco objetos de montón de JavaScript seleccionados en el panel Profiles. $0 devuelve el elemento o el objeto de JavaScript seleccionado más recientemente, $1 devuelve el segundo seleccionado más recientemente, y así sucesivamente.

En el siguiente ejemplo, se selecciona un elemento img en el panel Elements. En el panel Console , se evaluó $0 y se muestra el mismo elemento:

Ejemplo de USD 0.

En la siguiente imagen, se muestra un elemento diferente seleccionado en la misma página. Ahora, $0 hace referencia al elemento recién seleccionado, mientras que $1 devuelve el seleccionado anteriormente:

Ejemplo de USD 1

$(selector [, startNode])

$(selector) devuelve la referencia al primer elemento DOM con el selector CSS especificado. Cuando se llama con un argumento, esta función es un acceso directo para la función document.querySelector().

En el siguiente ejemplo, se devuelve una referencia al primer elemento <img> del documento:

Ejemplo de $('img').

Haz clic con el botón derecho en el resultado que se muestra y selecciona Reveal in Elements Panel para encontrarlo en el DOM o Scroll in to View para mostrarlo en la página.

En el siguiente ejemplo, se devuelve una referencia al elemento seleccionado actualmente y se muestra su propiedad src:

Ejemplo de $('img').src.

Esta función también admite un segundo parámetro, startNode, que especifica un "elemento" o un nodo desde el cual buscar elementos. El valor predeterminado de este parámetro es document.

En el siguiente ejemplo, se devuelve una referencia al primer elemento img que es un descendiente de devsite-header-background y se muestra su propiedad src:

Ejemplo de $('img', div).src.

$$(selector [, startNode])

$$(selector) devuelve un array de elementos que coinciden con el selector CSS determinado. Este comando es equivalente a llamar a Array.from(document.querySelectorAll()).

En el siguiente ejemplo, se 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);
}

Ejemplo de uso de<!-- notranslate l10n-placeholder: l10n-placeholder3 -->()</code> para crear un array de todos los elementos <code translate=<img> elementos que aparecen en el documento actual después del nodo seleccionado:

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

Ejemplo de uso de $() para seleccionar todas las imágenes que aparecen después del elemento div de selección en el documento y mostrar sus fuentes.

$x(path [, startNode])

$x(path) devuelve un array de elementos DOM que coinciden con la expresión XPath determinada.

Por ejemplo, lo siguiente devuelve todos los elementos <p> de la página:

$x("//p")

Ejemplo de uso de un selector XPath.

En el siguiente ejemplo, se devuelven todos los <p> elementos que contienen <a> elementos:

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

Ejemplo de uso de un selector XPath más complicado.

Al igual que las otras funciones de selector, $x(path) tiene un segundo parámetro opcional, startNode, que especifica un elemento o un nodo desde el cual buscar elementos.

Ejemplo de uso de un selector XPath con startNode.

clear()

clear() borra el historial de la consola.

clear();

copy(object)

copy(object) copia una representación de cadena del objeto especificado en el portapapeles.

copy($0);

debug(function)

Cuando se llama a la función especificada, se invoca el depurador y se interrumpe dentro de la función en el panel Sources , lo que permite recorrer el código y depurarlo.

debug(getData);

Interrupción dentro de una función con debug().

Usa undebug(fn) para dejar de interrumpir la función o usa la IU para inhabilitar todos los puntos de interrupción.

Para obtener más información sobre los puntos de interrupción, consulta Cómo pausar el código con puntos de interrupción.

dir(object)

dir(object) muestra una lista de estilo de objeto de todas las propiedades del objeto especificado. Este método es un acceso directo para el método console.dir() de la API de Console.

En el siguiente ejemplo, se muestra la diferencia entre evaluar document.body directamente en la línea de comandos y usar dir() para mostrar el mismo elemento:

document.body;
dir(document.body);

Registro de document.body con y sin la función dir().

Para obtener más información, consulta la entrada console.dir() en la API de Console.

dirxml(object)

dirxml(object) imprime una representación XML del objeto especificado, como se ve en el panel Elements. Este método equivale al console.dirxml() método.

inspect(object/function)

inspect(object/function) abre y selecciona el elemento o el objeto especificado en el panel adecuado: el panel Elements para elementos DOM o el panel Profiles para objetos de montón de JavaScript.

En el siguiente ejemplo, se abre document.body en el panel Elements:

inspect(document.body);

Inspección de un elemento con inspect().

Cuando pasas una función para inspeccionar, la función abre el documento en el panel Sources para que lo inspecciones.

getEventListeners(object)

getEventListeners(object) devuelve los objetos de escucha de eventos registrados en el objeto especificado. El valor que se muestra es un objeto que contiene un array para cada tipo de evento registrado (por ejemplo, click o keydown). Los miembros de cada array son objetos que describen el objeto de escucha registrado para cada tipo. Por ejemplo, lo siguiente muestra todos los objetos de escucha de eventos registrados en el objeto del documento:

getEventListeners(document);

Es el resultado de usar getEventListeners().

Si se registra más de un objeto de escucha en el objeto especificado, el array contiene un miembro para cada objeto de escucha. En el siguiente ejemplo, hay dos objetos de escucha de eventos registrados en el elemento del documento para el evento click:

Varios objetos de escucha

Puedes expandir cada uno de estos objetos para explorar sus propiedades:

Vista expandida del objeto de escucha.

Para obtener más información, consulta Cómo inspeccionar las propiedades de los objetos.

keys(object)

keys(object) devuelve un array que contiene los nombres de las propiedades que pertenecen al objeto especificado. Para obtener los valores asociados de las mismas propiedades, usa values().

Por ejemplo, supongamos que tu aplicación definió el siguiente objeto:

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

Si se supone que player se definió en el espacio de nombres global (para simplificar), escribir keys(player) y values(player) en la Console genera lo siguiente:

Ejemplo de los métodos keys() y values().

monitor(function)

Cuando se llama a la función especificada, se registra un mensaje en la consola que indica el nombre de la función junto con los argumentos que se le pasan cuando se la llama.

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

Ejemplo del método monitor().

Usa unmonitor(function) para detener la supervisión.

monitorEvents(object [, events])

Cuando ocurre uno de los eventos especificados en el objeto especificado, el objeto Event se registra en la consola. Puedes especificar un solo evento para supervisar, un array de eventos o uno de los eventos genéricos "tipos" asignados a una colección predefinida de eventos. Consulta los ejemplos que se mencionan a continuación.

Lo siguiente supervisa todos los eventos de cambio de tamaño en el objeto de la ventana.

monitorEvents(window, "resize");

Supervisa los eventos de cambio de tamaño de la ventana.

Lo siguiente define un array para supervisar los eventos "resize" y "scroll" en el objeto de la ventana:

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

También puedes especificar uno de los "tipos" de eventos disponibles, cadenas que se asignan a conjuntos predefinidos de eventos. En la siguiente tabla, se enumeran los tipos de eventos disponibles y sus asignaciones de eventos asociadas:

Tipo de evento y eventos asignados correspondientes
ratón"mousedown", "mouseup", "click", "dblclick", "mousemove", "mouseover", "mouseout", "mousewheel"
clave"keydown", "keyup", "keypress", "textInput"
táctil"touchstart", "touchmove", "touchend", "touchcancel"
control"resize", "scroll", "zoom", "focus", "blur", "select", "change", "submit", "reset"

Por ejemplo, lo siguiente usa el tipo de evento "key" todos los eventos clave correspondientes en un campo de texto de entrada seleccionado actualmente en el panel Elements.

monitorEvents($0, "key");

A continuación, se muestra un resultado de ejemplo después de escribir caracteres en el campo de texto:

Supervisar eventos clave

Usa unmonitorEvents(object[, events]) para detener la supervisión.

profile([name]) y profileEnd([name])

profile() inicia una sesión de generación de perfiles de CPU de JavaScript con un nombre opcional. profileEnd() completa el perfil, abre automáticamente el panel Performance y muestra los resultados en la pista Main.

Para iniciar la generación de perfiles, sigue estos pasos:

profile("Profile 1")

Para detener la generación de perfiles y ver los resultados en la pista Performance > Main , sigue estos pasos:

profileEnd("Profile 1")

Resultado en la pista Performance > Main:

Perfil 1 en el segmento principal de Performance.

Los perfiles también se pueden anidar. Por ejemplo, esto funcionará en cualquier orden:

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

queryObjects(Constructor)

Llama a queryObjects(Constructor) desde la consola para devolver un array de objetos que se crearon con el constructor especificado. Por ejemplo:

  • queryObjects(Promise). Devuelve todas las instancias de Promise.
  • queryObjects(HTMLElement). Devuelve todos los elementos HTML.
  • queryObjects(foo), donde foo es un nombre de clase. Devuelve todos los objetos que se crearon a través de new foo().

El alcance de queryObjects() es el contexto de ejecución seleccionado actualmente en la consola.

table(data [, columns])

Registra los datos del objeto con formato de tabla pasando un objeto de datos con encabezados de columna opcionales. Este es un acceso directo para console.table().

Por ejemplo, para mostrar una lista de nombres con una tabla en la consola, harías lo siguiente:

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

Ejemplo del método table().

Para copiar una tabla registrada en el portapapeles como una tabla de Markdown con formato o datos CSV, haz clic con el botón derecho en la tabla de la Console y selecciona la opción de copia correspondiente en el menú contextual.

undebug(function)

undebug(function) detiene la depuración de la función especificada para que, cuando se llame a la función, ya no se invoque el depurador. Esto se usa en conjunto con debug(fn).

undebug(getData);

unmonitor(function)

unmonitor(function) detiene la supervisión de la función especificada. Esto se usa en conjunto con monitor(fn).

unmonitor(getData);

unmonitorEvents(object [, events])

unmonitorEvents(object[, events]) detiene la supervisión de eventos para el objeto y los eventos especificados. Por ejemplo, lo siguiente detiene toda la supervisión de eventos en el objeto de la ventana:

unmonitorEvents(window);

También puedes detener de forma selectiva la supervisión de eventos específicos en un objeto. Por ejemplo, el siguiente código comienza a supervisar todos los eventos del mouse en el elemento seleccionado actualmente y, luego, detiene la supervisión de los eventos "mousemove" (quizás para reducir el ruido en el resultado de la consola):

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

values(object)

values(object) devuelve un array que contiene los valores de todas las propiedades que pertenecen al objeto especificado.

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

values(player);

Es el resultado de los valores(jugador).