Comment afficher l'état actuel d'un objet dans Console.log
Lorsque vous utilisez console.log pour générer un objet, vous pouvez rencontrer un problème où l'objet affiché reflète son état au moment de l'exécution finale, et non lorsque console.log a été initialement invoqué. Cet écart peut être particulièrement évident dans Safari et les navigateurs sans extensions supplémentaires.
Problème :
Considérez l'exemple suivant :
var test = { a: true }; console.log(test); // {a: false} test.a = false; console.log(test); // {a: false}
Dans cet Dans ce scénario, le deuxième appel console.log affiche incorrectement {a: false}, même si la valeur réelle de la propriété 'a' a été attribuée à 'false'.
Solution : Utilisation de console.dir()
Pour résoudre ce problème et afficher l'état actuel de l'objet lorsque console.log est appelé, vous peut exploiter la fonction console.dir(). Contrairement à console.log(), console.dir() fournit un répertoire des propriétés de l'objet au moment de l'invocation, fournissant une représentation précise de l'état de l'objet.
Utilisation de la stringification JSON :
Vous pouvez également utiliser la stringification et l'analyse JSON pour obtenir un résultat similaire :
console.log(JSON.parse(JSON.stringify(obj)));
Ceci L'approche implique de convertir l'objet en chaîne JSON à l'aide de JSON.stringify(), puis de le réanalyser en un objet JSON à l'aide de JSON.parse(). Cela clone efficacement l'objet, vous permettant d'afficher son état actuel avec précision.
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!