Console.log() オブジェクトと配列のログを記録する際の Chrome の不一致
Google Chrome で console.log( ) ネストされた配列またはオブジェクトをログに記録します。ログを記録した後に配列またはオブジェクトの最も内側の値を変更すると、console.log() はログ記録時の元の値ではなく、変更された値を表示します。
再現手順
問題を再現するには:
この不一致は、変数 (testb、testc) に格納されているオブジェクトと配列にも影響します。
根本的な問題
広範な調査の結果、この問題は、WebKit のバグとして以前に報告されていたことがわかりました (https://bugs.webkit.org/show_bug.cgi?id=35801)。 Chromium 開発者はこの問題を認めていますが、技術的な制限により修正の可能性は低いと述べています。
修正と不一致
ただし、修正は 2012 年に WebKit に実装されました。それにもかかわらず、Google Chrome はまだこの修正を採用していません。その結果、console.log() の動作は、ログ記録時にコンソール ウィンドウが開いているかどうかによって異なります。
結論
Google Chrome の console.log() 機能のこのバグは残り、デバッグ作業に影響を与えます。 Chrome で問題が解決されるまで、この不一致を認識し、別のデバッグ方法を検討することをお勧めします。
以上がChrome で Console.log() が元の値ではなく変更された値を表示するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。