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 🙂