JavaScript で「console.log()」が変更前に変更された配列値を表示しているように見えるのはなぜですか?
Jan 05, 2025 am 07:09 AMコンソールは、変更前に変更された配列値を出力します
JavaScript では、変数は通常、参照によって渡されます。つまり、変数はその後に変更されます。別の変数に割り当てられた場合は、両方の変数に反映されます。この動作は、console.log() を使用して変数の値を表示するときによく見られます。
たとえば、次のコードを考えてみましょう。
let A = [2, 1]; let C = A; console.log(C); // [1, 2]
ログイン後にコピー
この例では、変数 C console.log(C) が実行されると、配列の現在の値 [1, 2] が出力されます。ただし、元の配列 A が後で変更された場合、この値は最新ではない可能性があります。
A.sort(); console.log(C); // [1, 2]
ログイン後にコピー
配列 A で sort() メソッドを実行すると、その要素はその場で並べ替えられます。配列 C は同じオブジェクトへの参照を保持しているため、console.log(C) の出力は [1, 2] のままです。これは、console.log() が静的な値ではなく、実行時のオブジェクトの現在の値を表示するためです。
この予期しない動作を回避し、console.log() が正確な値を出力するようにするには、次のようにします。
console.log(JSON.parse(JSON.stringify(C)));
ログイン後にコピー
または MDN が示唆するように、次のいずれかを使用できます:
Object.assign({}, A)
ログイン後にコピー
以上がJavaScript で「console.log()」が変更前に変更された配列値を表示しているように見えるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

人気の記事
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
1週間前
By 尊渡假赌尊渡假赌尊渡假赌

人気の記事
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
1週間前
By 尊渡假赌尊渡假赌尊渡假赌

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7137
9


Java チュートリアル
1534
14


Laravel チュートリアル
1257
25


PHP チュートリアル
1205
29


CakePHP チュートリアル
1155
46

