Quelle est la différence entre la console.dir et console.journal?

En Chrome les console objet définit deux méthodes qui semblent faire la même chose:

console.log(...)
console.dir(...)

J'ai lu quelque part sur internet que l' dir prend une copie de l'objet avant l'enregistrement, alors que log transmet simplement la référence de la console, ce qui signifie que par le temps que vous passez à inspecter l'objet connecté, elle peut avoir changé. Cependant, certains tests préliminaires suggèrent qu'il n'y a pas de différence et qu'ils souffrent tous les deux de potentiellement en montrant des objets dans les différents états que lorsqu'ils ont été enregistrés.

Essayez ceci dans la console Chromée (Ctrl+Maj+J) pour voir ce que je veux dire:

> o = { foo: 1 }
> console.log(o)
> o.foo = 2

Maintenant, développez le [Object] sous la instruction de journal et notez qu'il montre foo avec une valeur de 2. La même chose est vraie si vous répétez l'expérience à l'aide de dir au lieu de log.

Ma question est, pourquoi ces deux apparemment fonctions identiques existent sur console?

Essayez console.log([1,2]) et console.dir([1,2]) et vous verrez la différence.
Dans firebug le contenu d'un objet connecté avec console.dir ne change pas, donc cela fait une grande différence.
Attention à console.dir() : cette fonction n'est non-standard ! Donc, ne pas l'utiliser sur la production 😉
Cette question de l'URL indiqué dans le image Mozilla Developer Network - Console.journal (le) - Différence avec la console.dir().
jolie trouvaille! En fait, l'image est à partir de ma réponse ci-dessous, si c'était fait capturé sur mon ordinateur portable. C'est gentil de donner quelque chose en retour à la SOCIÉTÉ. Quelle grande ressource qu'il est.

OriginalL'auteur Drew Noakes | 2012-08-14