ホームページ  >  記事  >  ウェブフロントエンド  >  Google Chrome で console.log() が変更されたネストされた配列の更新された値を表示するのはなぜですか?

Google Chrome で console.log() が変更されたネストされた配列の更新された値を表示するのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-20 11:43:02272ブラウズ

Why Does console.log() Display Updated Values for Modified Nested Arrays in Google Chrome?

Google Chrome の console.log とオブジェクトおよび配列の不一致

次の場合に、Google Chrome の console.log() 関数で特異な動作が確認されました。入れ子になった配列を扱います。配列が console.log() でログに記録され、その後その内部値の 1 つが変更された場合、console.log() はログ記録時点の値ではなく、更新された値を表示し続けます。

この動作は Google Chrome 特有のもののようで、Firefox では発生しません。ただし、Chrome デバッガーでコードを 1 行ずつ実行すると、console.log() の正しい値が得られます。

さらなる調査により、この問題は Webkit のバグとして報告されていることが判明しました。グーグルクローム。バグの説明では、可変プロパティを持つオブジェクトの console.log() は、ロギング後に状態が変化したにもかかわらず、展開時に更新された値を表示することを詳しく説明しています。

2012 年に Webkit に実装された修正により、オブジェクト プロパティの遅延読み取りが導入されました。コンソールを拡張すると、この問題は解決されます。ただし、この修正は現在まで Google Chrome に統合されていないようです。

以上がGoogle Chrome で console.log() が変更されたネストされた配列の更新された値を表示するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。