Lire un objet dans la console sans se mentir

Ce que l’on pense voir

Lire un objet dans la console semble simple. On log l’objet, on l’ouvre, et on regarde ses propriétés. En pratique, ce que la console affiche n’est pas toujours ce que le code avait à l’instant du log.

C’est une source classique de confusion, surtout quand l’état évolue rapidement ou quand plusieurs parties du code manipulent la même référence.

La console et les références

Quand un objet est affiché dans la console, celle-ci montre souvent une référence vivante. Cela signifie que les valeurs visibles peuvent changer après le log initial.

On a alors l’impression que le log ment, alors qu’il montre simplement l’état actuel de l’objet, pas forcément celui au moment exact où console.log a été appelé.

Ce qui est affiché n’est pas toujours ce qui a été loggé.

Pourquoi cela induit en erreur

Le réflexe naturel est de faire confiance à ce que l’on voit à l’écran. Quand une valeur semble incohérente, on cherche le bug au mauvais endroit.

On peut perdre du temps à inspecter une logique correcte, simplement parce que l’objet affiché ne correspond plus au moment observé.

Rendre l’observation plus fiable

Pour éviter ce piège, il est souvent utile de forcer une photographie de l’état :

  • logger des primitives plutôt que l’objet entier
  • cloner l’objet avant de le logguer
  • structurer les logs pour donner du contexte

Ces pratiques réduisent les ambiguïtés et rendent la lecture de la console plus fiable.

Lire la console avec recul

La console reste un excellent outil, à condition de garder en tête ses limites. Elle montre quelque chose de vrai, mais pas toujours ce que l’on croit regarder.

Comprendre ce décalage permet d’éviter beaucoup de faux diagnostics et de gagner du temps lors du debug 🙂