JavaScriptにおけるディープコピーの方法


  1. スプレッド構文を使用したディープコピー: スプレッド構文を使用すると、オブジェクトや配列の要素を展開して新しいオブジェクトや配列を作成できます。
const originalArray = [1, 2, 3];
const deepCopyArray = [...originalArray];
const originalObject = { name: 'John', age: 30 };
const deepCopyObject = { ...originalObject };
  1. JSON.stringifyとJSON.parseを使用したディープコピー: JSON.stringifyを使用してオブジェクトをJSON文字列に変換し、JSON.parseを使用してJSON文字列をオブジェクトに変換することで、ディープコピーを作成することができます。
const originalArray = [1, 2, 3];
const deepCopyArray = JSON.parse(JSON.stringify(originalArray));
const originalObject = { name: 'John', age: 30 };
const deepCopyObject = JSON.parse(JSON.stringify(originalObject));
  1. ライブラリを使用したディープコピー: 一部のJavaScriptライブラリ(例: lodash)には、ディープコピーを行うための便利な関数が提供されています。
const _ = require('lodash');
const originalArray = [1, 2, 3];
const deepCopyArray = _.cloneDeep(originalArray);
const originalObject = { name: 'John', age: 30 };
const deepCopyObject = _.cloneDeep(originalObject);

これらはJavaScriptでディープコピーを行うための一般的な方法です。どの方法を選ぶかは、使用するコンテキストやパフォーマンスの要件によって異なります。適切な方法を選んで使用してください。