ホームページ > 記事 > ウェブフロントエンド > JSのオブジェクトの深いコピーと浅いコピーの違いは何ですか
#基本データ型の場合、コピーすると変数の値が直接コピーされますが、参照型の場合、実際にコピーされるのは変数のアドレスです。
浅いコピーと深いコピーの区別はこれに基づいて行われ、このオブジェクトをコピーする場合、基本データ型のみがコピーされ、参照データ型のみがコピーされます。新しいオブジェクトを再作成しない場合は浅いコピーとみなされ、
逆に、参照データ型をコピーする場合、新しいオブジェクトが作成され、そのメンバーがコピーされます。変数の場合は、深いコピーとみなされます。
ディープコピーサンプルコード:
let o2 = JSON.parse(JSON.stringify(o1)) function deepCopy(s) { const d = {} for (let k in s) { if (typeof s[k] == 'object') { d[k] = deepCopy(s[k]) } else { d[k] = s[k] } } return d }
シャローコピーサンプルコード:
let o2=Object.assign({},o1)
推奨チュートリアル:js 入門チュートリアル
以上がJSのオブジェクトの深いコピーと浅いコピーの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。