Chromeでは、consoleオブジェクトは同じことをするように見える2つのメソッドを定義します。
console.log(...)
console.dir(...)
dirログを記録する前にオブジェクトのコピーを取得するオンラインのどこかを読みましたlogが、参照をコンソールに渡すだけです。つまり、ログに記録したオブジェクトを検査するまでに、オブジェクトが変更されている可能性があります。ただし、一部の予備テストでは、違いはなく、どちらもログに記録されたときとは異なる状態のオブジェクトが表示される可能性があることを示しています。
Chromeコンソール(Ctrl+ Shift+ J)でこれを試して、意味を確認してください。
> o = { foo: 1 }
> console.log(o)
> o.foo = 2
ここで[Object]、ログステートメントの下を展開するfooと、値が2 で表示されていることがわかります。のdir代わりにを使用して実験を繰り返した場合も同様ですlog。
私の質問は、なぜこれらの2つの一見同じ機能が存在するのconsoleですか?
console.dir変更されないため、大きな違いがあります。


console.log([1,2])とconsole.dir([1,2])、違いがわかります。