Javascript: Indo além do console.log()
Tags: node, javascript, webdev, braziliandevs
Published: 2021-06-30 01:31:11

![[undraw](https://undraw.co/)](https://cdn-images-1.medium.com/max/2334/1*QVZFTh_70amHpzQvb8olng.png)

Se você desenvolve em Javascript, com certeza já deva ter usado muito o método **log** do objeto console. Porem, ele não e o único meto que este objeto possui, continue lendo para ver outros métodos que podem ser muito uteis.

## **Índice**

* assert

* dir

* table

* time & timeEnd

* warn & error

* clear

## Assert

Exibe uma mensagem caso a expressão passada resulte em falha. Sua mensagem pode ser tanto uma String, Array ou Objeto.
{% gist https://gist.github.com/mfortunat0/5755cdb099ecfa02ff054bdbd84bb938.js %}
Veja no exemplo acima, em “ Outro exemplo ”, podemos testar se um objeto possui uma propriedade, e caso não tenha será nos alertado, caso contrario não mudara em nada e não poluirá nossos logs.

Detalhe, caso esteja usando Node.js, os efeitos são diferentes. Caso a expressão falhe, será gerado um *AssertionError.*

## Dir

Exibe uma lista interativa das propriedades do objeto. Muito útil para analisarmos algum elemento HTML, checar propriedades.
{% gist https://gist.github.com/mfortunat0/b11de86a3a6de34cb265ea5f9e2dacf4.js %}
Veja no exemplo acima, pela nossa objeto input podemos ver todas as propriedades dele através do console.dir(). Caso você tente usar console.log() nesse objeto, você vera impresso em seu console:

![](https://cdn-images-1.medium.com/max/2000/1*2b8CLKHkVcgks2UhwiasaQ.png)

Com Dir teremos uma interação melhor:

![](https://cdn-images-1.medium.com/max/2000/1*FRN8SSfX66TfNvvgi5RE7Q.png)

## Table

Exibe dados em forma de tabela de um Objeto ou Array. muito útil para termos uma visão melhor e limpa dos dados do que apenas o console.log() nos mostra. Veja exemplo a seguir:
{% gist https://gist.github.com/mfortunat0/bfeb3f4c40a633f13989b2e7b1efec5e.js %}
![](https://cdn-images-1.medium.com/max/2000/1*pbRvDyjtKC7aQnSNnhlnqA.png)

A iteração do Array simples temos a coluna de índice e outra com valor, ja um Array multidimensional temos mais colunas de acordo com sua dimensão, ja um Objeto temos suas Chaves e Valores bem claros a vista.

## Time & TimeEnd

Iniciar um cronômetro com console.time() e finaliza apenas quando for chamado console.timeEnd(). Muito útil caso tenha um aparte do seu código que você deseja saber quanto tempo leva de execução. Veja exemplo a seguir:
{% gist https://gist.github.com/mfortunat0/522571ebbdc84d535e344e5d08c79e0d.js %}
![](https://cdn-images-1.medium.com/max/2000/1*ttV4MmqwJriF9vNh3V__vQ.png)

No final da execução será exibido tempo que o Time foi aberto ate TimeEnd ser chamado.

## Warn & Error

Similar ao Log, porem Warn exibe uma mensagem de alerta e Error exibe uma mensagem de Erro. Muito útil para especificar quando e uma falha maleável e quando ocorrer um erro de fato. Veja exemplos:
{% gist https://gist.github.com/mfortunat0/e62a9894218f7a7cb6a9a7efd93ceb48.js %}
Vendo os dois métodos, somar e subtrair, em somar recebe valores padrões em seus parâmetros e caso não for passado será apenas alertado quando não for passado mas continuara funcionando e retornara 0, já o método subtrair, não recebe valores padrões em seus parâmetros, então caso não for passado em sua chamada será exibido um Erro no console e não retornara nada.

![](https://cdn-images-1.medium.com/max/2000/1*Io_nFpugj_-4hCJCRbMy2g.png)

## Clear

Por fim, o método Clear limpa o console, se o ambiente permitir.
{% gist https://gist.github.com/mfortunat0/64177fa0e4aa1ea7b69c60f56de38d8f.js %}
Ao executar código, veja que no console você obterá a seguinte mensagem “Console was cleared”

## Conclusão

Vemos que nem de console.log() pode viver um desenvolvedor Javascript. Espero que este conteúdo tenha agregado mais conhecimento.