Différence d'affichage des objets JavaScript dans les journaux de la console
Lors de l'affichage des objets JavaScript dans les journaux de la console, les utilisateurs ont rencontré des résultats variables dans Firefox, Chrome et Navigateurs Safari. Alors que Firebug de Firefox reflète avec précision les modifications apportées aux attributs des objets, les journaux des consoles Chrome et Safari présentent un comportement particulier.
Dans la console de Chrome, les appels console.log impliquant des objets créent une référence à l'objet. Jusqu'à ce que l'onglet objet soit ouvert dans la console, la référence reste active et reflète toutes les modifications apportées à l'objet. Cependant, une fois l'onglet Objet ouvert, l'objet enregistré devient « mis en cache » et affiche la valeur mise à jour la plus récente, quelles que soient les modifications ultérieures apportées à l'objet d'origine.
Ce comportement, issu d'une décision de conception de l'équipe Chromium , n'est pas considéré comme un bug. Cependant, cela peut être gênant pour les développeurs qui s'appuient sur un affichage précis des objets dans les journaux de la console.
Pour contourner ce problème, plusieurs options sont disponibles. Les développeurs peuvent choisir de consigner une valeur non objet de l'objet, telle qu'une représentation sérialisée obtenue à l'aide de JSON.stringify(foo). Cela fournira la représentation la plus à jour de l'état de l'objet.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!