JavaScript 逆引き集 | 深いコピー(JSON)(注意:関数/undef は除外)

JavaScript JavaScript
スポンサーリンク
スポンサーリンク

「完全に別物のコピー」を作るという発想です

JSON.parse(JSON.stringify(obj)) は、JavaScript でよく使われる「深いコピー(ディープコピー)」のテクニックです。オブジェクトや配列の中に、さらにオブジェクトや配列が入れ子になっていても、それらをまとめて「別物」としてコピーすることができます。浅いコピー({...obj} など)ではネストされた中身が元と共有されてしまいますが、この JSON を使った方法では、基本的なデータ型については「完全に独立したコピー」を作ることができます。ただし、関数や undefinedDate など一部の値は正しくコピーされないという重要な注意点がありますので、そこを深掘りしていきます。

タイトルとURLをコピーしました