structuredCloneを使うついでディープコピーとシャローコピーを正しく理解する

最近新しいプロジェクトでstructuredCloneを使った。

※それまではプロジェクトに入っていたlodash/cloneDeepを使っていた。

ついでに理解の浅いディープコピーとシャローコピーについて調べてみた。

シャローコピー

そもそもの理解だと、

このコードを実行するとcopyを変更しているのにoriginalが変わっちゃっているというのがシャローコピーだと思っていた。

なのでずっとシャドーコピーのほうがしっくりくる気がするけどって思っていたけど、これはそもそもシャローコピーですらなく「参照共有」あるいは「参照代入」っていう名前らしい。

それじゃ、シャローコピーとは言うと

これのことらしい。

これだけ見ると何が問題なのかわからないけど、シャローコピーとは

Read more →
Page 1