深いコピーと浅いコピーを理解する前に、いくつかの基本的な概念を理解する必要があります。メモリに保存されている変数タイプは、値タイプと参照タイプに分割されます。
1.値タイプの割り当てのストレージ特性:変数内のすべてのデータをコピーして、新しい変数に保存します。
例:var num = 123; var num1 = num;
変数に保存されている数値は123です。次に、データ1コピーをコピーします。これは、123コピーをコピーすることを意味します。次に、メモリに2つの配列があります。コピーデータをnum2に割り当てる特性は、メモリにデータのコピーが2つあることです。これは浅いコピーとして理解できます。
2。参照タイプの割り当て。
var o = {name: 'Zhang San'};
var obj = o;
割り当てとは、変数oに保存されているデータのコピーをコピーしてから、データをOBJに割り当てることを意味します。メモリには1ポイントのデータがあり、OBJによって変更された名前属性はoの名前に影響します。
データのすべての参照構造がコピーにコピーされている場合、データは独立してメモリ内にあり、深いコピーです。
現在のオブジェクトの属性がコピー時にのみコピーされ、属性が参照タイプが考慮されない場合、それは浅いコピーです。
コピー:コピーをコピーします。オブジェクトデータのコピーを指します。
ディープコピーと浅いコピーについて議論するときは、オブジェクトのプロパティが参照タイプであることを確認する必要があります。
JavaScriptでの深く浅いオブジェクト指向のコピーとコピーに関する上記の簡単な議論は、私があなたと共有するすべてのコンテンツです。私はそれがあなたに参照を与えることができることを願っています、そしてあなたがwulin.comをもっとサポートできることを願っています。