Was ist der Unterschied zwischen console.dir und console.log?

In Chrome dieconsole object definiert zwei Methoden, die anscheinend dasselbe tun:

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

Ich habe das irgendwo online gelesendir Erstellt eine Kopie des Objekts, bevor es protokolliert wirdlog Übergibt lediglich den Verweis an die Konsole, was bedeutet, dass er sich möglicherweise geändert hat, wenn Sie das protokollierte Objekt untersuchen. Einige vorläufige Tests legen jedoch nahe, dass es keinen Unterschied gibt und beide möglicherweise Objekte in einem anderen Status als zum Zeitpunkt der Protokollierung anzeigen.

Versuchen Sie dies in der Chrome-Konsole (Strg+Verschiebung+J) um zu sehen, was ich meine:

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

Nun erweitern Sie die[Object] unter der Log-Anweisung und beachten Sie, dass es zeigtfoo mit einem Wert von 2. Dasselbe gilt, wenn Sie den Versuch mit wiederholendir anstattlog.

Meine Frage ist, warum diese beiden scheinbar identischen Funktionen existierenconsole?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage