Asignar formato y estilo a los mensajes en Console

En esta guía, se muestra cómo dar formato y aplicar estilos a los mensajes en la consola de Chrome DevTools. Consulta Comienza a usar los mensajes de registro para obtener información sobre cómo registrar mensajes en la consola.

En esta guía, se da por sentado que comprendes los conceptos básicos del desarrollo web, como cómo usar JavaScript para agregar interactividad a una página.

Cómo dar formato a los mensajes de la consola

Puedes usar los especificadores de formato para dar formato a los mensajes de la consola.

Los especificadores de formato comienzan con un carácter de porcentaje (%) y terminan con un "carácter de tipo" que indica el tipo de datos (número entero, número de punto flotante, etc.).

Por ejemplo:

  1. Abrir Console
  2. Ingresa el siguiente comando de la consola.

    const tools = 'Chrome DevTools';
    console.warn('%s is awesome.', tools);
    
  3. El comando anterior produce el mensaje Chrome DevTools is awesome.. valor de la cadena de formato

Esta es la lista de especificadores de formato que Chrome DevTools admite actualmente.

Especificador Salida
%s Aplica formato al valor como una cadena
%i o %d Establece el formato del valor como un número entero.
%f Establece el formato del valor como un valor de punto flotante.
%o Aplica formato al valor como un elemento DOM expandible.
%O Da al valor el formato de un objeto JavaScript expandible.
%c Aplica reglas de estilo CSS a la cadena de salida según lo especificado por el segundo parámetro.

Aplica varios especificadores de formato

Puedes usar más de un especificador de formato en un mensaje.

  1. Ingresa el siguiente comando de la consola.

    console.info('The total weight of %i %s and %d %s is %f grams.', 3, 'apples', 2, 'oranges', 432.4);
    
  2. El comando anterior produce el mensaje The total weight of 3 apples and 2 oranges is 432.4 grams.. varios especificadores de formato

Comprende las conversiones de tipo

El mensaje de salida se convertirá según el especificador de formato.

  1. Ingresa el siguiente comando de la consola.

    console.log('I have %i apples and %d oranges.', 2, 3.5); 
    
  2. El comando anterior produce el mensaje I have 2 apples and 3 oranges.. dar formato a valores de números enteros

  3. En lugar de registrar 3.5 oranges, el resultado es 3 oranges. El %d indica que el valor se debe convertir o se convertirá en un número entero.

Este es un ejemplo de lo que sucede si la conversión de tipo no es válida.

  1. Ingresa el siguiente comando de la consola.

    console.log('Jane has %i kiwis.', 'two');
    
  2. El comando anterior produce el mensaje Jane has NaN kiwis.. NaN en el mensaje de la consola

  3. El %i indica que el valor se debe convertir o se convertirá en un número entero, pero el argumento es una cadena. Por lo tanto, muestra NaN (no un número).

Diseña los mensajes de la consola

Existen dos formas de aplicar diseño a los mensajes de la consola en DevTools.

Aplica diseño con un especificador de formato

Puedes usar el especificador de formato %c para aplicar diseño a los mensajes de la consola con CSS.

  1. Ingresa el siguiente comando de la consola.

    const style = 'background-color: darkblue; color: white; font-style: italic; border: 5px solid hotpink; font-size: 2em;'
    console.log("%cHooray", style);
    
  2. El comando anterior produce Hooray con los estilos CSS aplicados. aplicar estilos al resultado con CSS

Aplica diseño con secuencias de escape ANSI

Puedes usar las secuencias de escape ANSI para aplicar diseño a los mensajes de la consola.

Es común que los desarrolladores de Node.js coloreen los mensajes de registro a través de secuencias de escape ANSI, a menudo con la ayuda de algunas bibliotecas de diseño, como chalk, colors, ansi-colors y kleur.

Sin embargo, puedes aplicarle diseño al mensaje con secuencias de escape ANSI sin usar ninguna biblioteca. Esta es la sintaxis:

\x1B[𝘗1;…;𝘗nm

En donde,

  • 𝘗1 a 𝘗n son subsecuencias válidas de los parámetros de SGR (Renderización gráfica selectiva).
  • Se puede omitir cualquiera de los parámetros de 𝘗1 a 𝘗n, en cuyo caso se supone que su valor es cero.
  • \x1B[m es la abreviatura de \x1B[0m, en la que se restablecerá el atributo de visualización.

Por ejemplo:

  1. Ingresa el siguiente comando de la consola.

    console.log('\x1B[41;93;4mHello\x1B[m');
    
  2. El comando anterior produce un mensaje Hello con fondo rojo, texto amarillo y subrayado. Hola

Esta es una lista de los códigos de colores admitidos en DevTools.

Primer plano Segundo plano Tema claro Tema oscuro
30 40
#00000
#00000
31 41
#AA0000
#ed4e4c
32 42
#00AA00
#01c800
33 43
#AA5500
#d2c057
34 44
#0000AA
#2774f0
35 45
#AA00AA
#a142f4
36 46
#00AAAA
#12b5cb
37 47
#AAAAAA
#cfd0d0
90 100
#555555
#898989
91 101
#FF5555
#f28b82
92 102
#55FF55
#01c801
93 103
#FFFF55
#ddfb55
94 104
#5555FF
#669df6
95 105
#FF55FF
#d670d6
96 106
#55FFFF
#84f0ff
97 107
#FFFFFF
#FFFFFF

Esta es una lista del código de diseño compatible con DevTools.

Parámetros Significado
0 Restablece todos los atributos de visualización
1 font-weight: bold
2 font-weight: lighter
3 font-style: italic
4 Agrega underline a la propiedad text-decoration
9 Agrega line-through a la propiedad text-decoration
22 Restablece la propiedad font-weight
23 Restablece la propiedad font-style
24 Se quitó underline de la propiedad text-decoration
29 Se quitó line-through de la propiedad text-decoration
38;2;𝑅;𝐺;𝐵 color: rgb(𝑅,𝐺,𝐵)
39 Restablecer color property
48;2;𝑅;𝐺;𝐵 background: rgb(𝑅,𝐺,𝐵)
49 Restablecer background property
53 Agrega overline a la propiedad text-decoration
55 Se quitó overline de la propiedad text-decoration

Este es otro ejemplo más complejo con varios diseños.

  1. Ingresa el siguiente comando de la consola.

    const hello = '\x1B[41;93;4mHello';
    const space = '\x1B[m ';
    const world = '\x1B[34;102;9mWorld';
    
    console.log(hello + space + world);
    
  2. El comando anterior produce un mensaje Hello World con 3 estilos diferentes. Hello World