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