Maison >interface Web >js tutoriel >Comment puis-je afficher avec précision les états des objets dans la console JavaScript ?

Comment puis-je afficher avec précision les états des objets dans la console JavaScript ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-07 01:19:11993parcourir

How Can I Accurately Display Object States in JavaScript's Console?

Problème d'affichage des états des objets dans Console.log ? Utilisez console.dir() ou la conversion JSON

Lors de l'inspection des états des objets dans la console, les développeurs sont souvent confrontés à des incohérences entre les données affichées et l'état réel de l'objet au point d'exécution. Cela peut être attribué à la façon dont console.log() fonctionne, qui affiche uniquement l'état de l'objet à la dernière étape d'exécution.

Pour atténuer ce problème et récupérer avec précision l'état de l'objet au moment du console.log (), une solution efficace consiste à utiliser console.dir(). Contrairement à console.log(), qui fournit une référence à l'objet, console.dir() présente un répertoire des propriétés de l'objet au moment de son invocation.

Une approche alternative consiste à convertir l'objet en un Chaîne JSON en utilisant JSON.stringify() et analysez-la ensuite en un objet avec JSON.parse(). Cette technique crée un objet consultable analogue à celui fourni par console.dir().

Voici un exemple pour illustrer la différence entre console.log() et console.dir() :

var test = {a: true}
console.log(test); // {a: false}
test.a = false; 
console.dir(test); // {a: false}

Dans cet exemple, console.log() affiche l'état de l'objet modifié ({a: false}) en raison du délai entre l'exécution et la sortie de la console. D'un autre côté, console.dir() capture avec précision l'état de l'objet au moment de son invocation.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn